簡體   English   中英

將集合存儲為Redis中的哈希值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM