【问题标题】:Setting array as hash's value in Redis在 Redis 中将数组设置为哈希值
【发布时间】:2014-10-11 16:15:35
【问题描述】:

我将 redis 与 ruby​​ 一起使用,我希望 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"] } }

那么执行此操作的正确方法是什么?

【问题讨论】:

    标签: ruby hash redis


    【解决方案1】:

    不是 100% 确定这是使该方法生气的原因,但看起来您确实以不允许的方式使用它。来自the Redis gem documentation

    Redis 仅将字符串存储为值。如果要存储对象,可以使用JSON等序列化机制...

    所以尝试存储array.to_json,然后使用JSON.parse(obj) 重新获取它。

    【讨论】:

      猜你喜欢
      • 2021-02-05
      • 2017-10-06
      • 1970-01-01
      • 2019-04-30
      • 2013-11-18
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 2012-10-29
      相关资源
      最近更新 更多