我想在redis中存储散列数组,最好的代码方式是什么?如何在redis中存储散列数组
12
A
回答
24
AFAIK的唯一方法是去引用它们。假设你有2个哈希值,如:{foo: 'bar', baz: 'qux'}
。
你最好分开存放,然后创建一个SET引用他们都:
HMSET myarr:0 foo bar baz qux
SADD myarr myarr:0
HMSET myarr:1 foo bar baz qux
SADD myarr myarr:1
然后你就可以通过查询集中检索他们都:SMEMBERS myarr
,然后调用HGETALL <key>
上所有返回键重建你的原始哈希数组。
我希望这是有道理的。如果你发现更聪明的方式,我会很乐意听到它。
2
如果您使用支持json转换的语言,您可以将您的散列转换为json并将其附加到列表中。您可以在Ruby中执行以下操作:
require 'rubygems'
require 'redis'
require 'json'
require 'pp'
redis = Redis.new(:host => '127.0.0.1', :port => 6379)
h1 = { :k1 => 'v1', :k2 => 'v2' }
redis.rpush('arr', h1.to_json)
h2 = { :k3 => 'v3', :k4 => 'v4' }
redis.rpush('arr', h2.to_json)
hashes = redis.lrange('arr', 0, -1)
hashes.map! { |x| JSON.parse(x) }
pp hashes
相关问题
- 1. 在Redis中存储MessagePacked散列
- 2. 如何在redis中使用散列存储此数据
- 3. 如何在laravel中使用redis与散列存储?
- 4. 如何将二维数组存储在Perl中的散列中?
- 5. Redis:如何存储用户散列列表并检索它?
- 6. 如何在Redis中存储值列表?
- 7. 如何访问存储在散列中的数组元素?
- 8. 在散列表中存储单词组
- 9. 在redis中存储二维数组
- 10. 如何在散列表中存储SqlParameter
- 11. 如何在存在空白散列时迭代散列数组?
- 12. 如何在redis中搜索散列键?
- 13. 在redis中存储带或不带散列值的键值对
- 14. redis如何存储数据
- 15. 将数组存储为散列?
- 16. 如何将复杂的对象存储在c#中的redis散列?
- 17. 如何打印存储在redis中的列表中的数据?
- 18. 如何在列族中存储数组
- 19. 如何在Redis缓存中存储ArrayList?
- 20. 如何在Redis中存储对象数组?
- 21. 如何在Redis中存储简单的数组
- 22. 在数据库中存储散列数组Rails
- 23. 如何检查散列中的密钥是否存在(redis)?
- 24. redis-store如何将房间数据存储在redis中?
- 25. 如何从红宝石散列图中提取值并存储在数组中?
- 26. 如何遍历散列数组中的散列数组
- 27. 如何存储散列值散列中的几行
- 28. 在散列中查找重复项,存储在新散列中分组
- 29. 计算存储在散列表中的数组元素
- 30. 查看列表保存到redis散列
这就是实现它的方法! – radtek 2018-03-09 22:05:29