[英]storing set as a value for hash in redis
我有包含數千行的文件(每行包含3個字段,第一個是ak長度的字符串,然后是一個數字,第三個是另一個字符串),其形式為:
k|1|r1
k|1|r2
k|2|r2
k1|1|r3
我使用redis-py通過以下方式加載它:
sadd('k:1', 'r1')
sadd('k:1', 'r2')
sadd('k:2', 'r2')
sadd('k1:1', 'r3')
形成像
{
"k:1" : ("r1", "r2"),
"k:2" : ("r2"),
"k1:1" : ("r3")
}
我打算通過刪除k的重復信息(這是前3條記錄共有的ak長度字符串)來存儲表單的值:
{
"k": {
"1" : ("r1", "r2"),
"2" : ("r2")
}
"k1": {
"1" : ("r3")
}
}
我有一個將值存儲在另一個鍵下的想法,該鍵可以用作哈希中k的值。 有沒有比這更好的方法了?
將集合存儲在另一個鍵下將起作用,但是,如果集合是靜態的,則不需要集合功能-相反,您可以保存自己的查找並將集合直接存儲在地圖中,例如,以逗號分隔的值(或如果您只有幾個值,則使用任何適合的分隔符);如果您有很多值,則使用逗號分隔的逗號分隔值(根據我的經驗,如果字符串足夠大,則g的成本(un)zip被降低的網絡成本所抵消)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.