我正在使用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"] } }
那么执行这个动作的正确方法是什么呢?
不能100%确定这就是使那个方法生气的原因,但它确实看起来像你在以一种它不允许的方式使用它。来自Redis gem文档:
Redis只存储字符串作为值。如果你想存储一个对象,你可以使用序列化机制,如JSON…
因此,尝试存储array.to_json
,并使用JSON.parse(obj)
再次获得它。