redis 如何只更新 list中某一個屬性的值,怎么存比較合理?


{

id:100,

name: "xxx",

num: 0

}

redis中存了這樣的一個list<Object>,我現在是序列化成String存在redis中的。

我的需求是這個list其他屬性不會變動,半個月左右會新增一條記錄,但是num需要頻繁更新。

我想要實現類似於mysql中  update xxx set num  = xx where id = 100,這種效果。

怎么存比較合理?應該用哪種結構?

 
 
收藏 (0)
 
0
 
 
kakai
kakai 

用hash結構,別用list,明顯你這個id可以作為hash key

 
 
0
 
 
快樂的一只小青蛙
快樂的一只小青蛙 

這樣的需求確實不適合使用list, 比較適合使用hash, 只更新一個字段時候使用hset key field value的方式來更新而不影響key對應的其他field(相關於sql中的column)

 
 
0
 
 
開源中國首席路人王
開源中國首席路人王 

您好,只更新一個字段不行吧,list只能整體替換

 
 
0
 
 
山下農-山上仙
山下農-山上仙 

用hash吧

如果你還想用保存 name 和num

key  ${id}_num  ${num}

key  ${id}_name ${name}

這樣即保存了num 又保存了 name

 
 
0
 
 
天上白雲
天上白雲 

你用 redis 要用nosql思路,如果還用sql思路去解決就是進入誤區了

 
 
0
 
 
宿命
宿命 

 { data: [ 100,101 ], 100: { name: "xxx", num: 0 }, 101: { name: "xxx", num: 0 } } 

 
 
0
 
 
F
freezingsky 

思維方向有誤,請基於數據驅動設計。

 
轉 https://www.oschina.net/question/2427327_2315597


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM