可以在redis中保存嵌套对象吗?
我正在使用node.js驱动程序。我的一个键值是一个对象数组。如果我不进行字符串化,则会产生字符串“[object Object]”,如果我将其字符串化,我会收到此错误:
{
stack: [Getter/Setter],
arguments: undefined,
type: undefined,
message: 'ERR wrong number of arguments for \'hmset\' command'
}
答案 0 :(得分:3)
字符串化json不是使用redis的正确方法。你应该生成自己的redis hashsets
user:ejder name ejder 用户:ejder:详情:0岁32岁 用户:ejder:详情:1岁25岁(我希望)
通过这种方式,您可以通过redis-way查询数据。字符串化json只是保存一个字符串,如果你使用大型数据集,它会降低性能非常糟糕
答案 1 :(得分:1)
将简单对象字符串化为它的JSON表示应该有效,并且您的代码中似乎有一些语法错误(您可以使用相应的代码在您执行HMSET命令时更新您的问题吗?)。如果您对字符串化版本不满意,那么数组中的每个对象都应该具有专用的哈希结构,其中将包含数据。
或者,您可以尝试使用node.js implementation的object-hash mapping library作为redis。