ruby-on-rails-3 - 在 Rails 应用程序上将 HASH 保存到 Redis

标签 ruby-on-rails-3 redis

我刚开始使用 Redis with Rails,所以这可能是一个愚蠢的问题。

我正在尝试将哈希保存到 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

不知道去哪里。我已删除 key $redis.del('data') 以确保这不是问题所在。

希望你能指教,李

最佳答案

我应该更透彻地阅读 redis 文档。

回答:

IN
$redis.set 'data', hash.to_json

OUT
data = JSON.parse($redis.get("data"))

关于ruby-on-rails-3 - 在 Rails 应用程序上将 HASH 保存到 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9832124/

相关文章:

java - Redis PubSub 与 Jedis 重新连接

azure - 如何使用 terraform 为 azure redis 缓存创建专用端点?

gcc - 错误 jemalloc/jemalloc.h : No such file or directory when making Redis

ruby-on-rails - rails 3 : Call back for when a certain object is pulled from the database (Mongo Mapper)

ruby-on-rails - 如何在 Rails 3 中并行使用 Mongoid 和 ActiveRecord?

xml - rails 3 渲染 xml 而不管 request.format

ruby-on-rails - Rails 3-从 View 中呈现PDF并附加到电子邮件

ruby-on-rails - Rails 3 中特定于环境的路由

redis - ZF2中如何实现自定义认证存储类?

spring - 将 SSE-Emitter 对象保存到 MongoDB/Redis 中,从数据库中获取它并通过它发送事件