在Redis中将数组设置为哈希值

3
我正在使用Ruby的Redis,希望Redis能够创建一个值为数组的哈希表。然而,这个数组是一个键的值,而这个键又是另一个键的值(简而言之,是在另一个哈希表中的哈希表)。
arr = ["this", "is", "an", "array"]
r = Redis.new
r.hset("super_key", "key", arr)

出现错误信息:ERR wrong number of arguments for 'hset' command

我期望哈希表看起来像这样:

{ "super_key" => { "key" => ["this", "is", "an", "array"] } }

那么,执行此操作的正确方式是什么?
1个回答

3
我不确定这是否是导致该方法发怒的原因,但它看起来似乎是您正在以不允许的方式使用它。请参考Redis gem documentation
Redis仅将字符串作为值存储。如果您想存储对象,则可以使用序列化机制,例如JSON……
因此,请尝试存储array.to_json,然后使用JSON.parse(obj)进行还原。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接