【发布时间】:2017-02-25 09:15:02
【问题描述】:
我刚开始使用带有 Rails 的 Redis,所以这可能是一个愚蠢的问题。
我正在尝试将哈希保存到 redis 服务器,但是当我检索它时它只是一个字符串 IE。
hash = {"field" => "value", "field2" => "value2"}
$redis.set('data', hash)
#So collecting the data
@data = $redis.get('data')
这显然是错误的,因为它以字符串形式返回。
我也尝试循环一些结果并使用 hset ie。
@data.each do |d|
$redis.hset('data', d.field, d.value)
end
# errror
# ERR Operation against a key holding the wrong kind of value
不知道该去哪里。我已删除密钥 $redis.del('data') 以确保这不是问题。
希望你能给点建议,李
【问题讨论】:
-
发帖人似乎想要一个 ruby 字典存储为序列化字符串,但在执行 hset 时我得到了同样的错误,即使键是哈希。谁能猜到为什么会这样?
-
想通了!并不是我在对字符串执行 HSET,而是在我应该使用 HGETALL 的时候对哈希执行 GET。
标签: ruby-on-rails-3 redis