我想在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. 如何在laravel中使用redis與散列存儲?
- 2. 如何將二維數組存儲在Perl中的散列中?
- 3. 如何在Redis中存儲值列表?
- 4. 如何訪問存儲在散列中的數組元素?
- 5. 在redis中存儲二維數組
- 6. 如何在redis中搜索散列鍵?
- 7. 如何將複雜的對象存儲在c#中的redis散列?
- 8. 如何在Redis中存儲對象數組?
- 9. 如何在Redis中存儲簡單的數組
- 10. 如何檢查散列中的密鑰是否存在(redis)?
- 11. 如何從紅寶石散列圖中提取值並存儲在數組中?
- 12. 如何在數據庫中存儲鹽漬散列密碼
- 13. 如何在我的數據庫中存儲散列?
- 14. Sinatra:如何在會話中存儲參數散列?
- 15. 在redis中如何存儲鍵值對?
- 16. 如何在redis中存儲JSF會話?
- 17. 如何將此存儲在Redis中?
- 18. 如何有效地散列2-d數組(要存儲在HashSet中)?
- 19. redis中的嵌套散列
- 20. 如何在Postgres中查詢數組存儲列(數組相交)
- 21. 如何將散列數組轉換爲散列值數組?
- 22. Redis - 如何存儲我的數據?
- 23. 如何在redis中存儲複雜對象(使用redis-py)
- 24. 如何在redis中存儲python列表的字典?
- 25. 在MySQL中存儲散列密碼
- 26. 將值存儲在散列表中
- 27. 如何將php數組存儲到redis中並在nodejs中檢索?
- 28. 如何訪問數組中的散列?
- 29. 如何從數組中生成散列
- 30. 如何保存/獲取redis散列鍵爲unicode?
這就是實現它的方法! – radtek 2018-03-09 22:05:29