?文章來源地址http://www.zghlxwxcb.cn/news/detail-818968.html
String
String數(shù)據(jù)結構是簡單的key-value類型,value其實不僅可以是String,也可以是數(shù)字。 常規(guī)key-value緩存應用; 常規(guī)計數(shù):微博數(shù),粉絲數(shù)等。
#Hash
Hash 是一個 string 類型的 ?eld 和 value 的映射表,hash 特別適合用于存儲對象,后續(xù)操作的時候,你可以直接僅 僅修改這個對象中的某個字段的值。 比如我們可以Hash數(shù)據(jù)結構來存儲用戶信息,商品信息等。
#List
list 就是鏈表,Redis list 的應用場景非常多,也是Redis最重要的數(shù)據(jù)結構之一,比如微博的關注列表,粉絲列表, 消息列表等功能都可以用Redis的 list 結構來實現(xiàn)。
Redis list 的實現(xiàn)為一個雙向鏈表,即可以支持反向查找和遍歷,更方便操作,不過帶來了部分額外的內存開銷。
另外可以通過 lrange 命令,就是從某個元素開始讀取多少個元素,可以基于 list 實現(xiàn)分頁查詢,這個很棒的一個功 能,基于 Redis 實現(xiàn)簡單的高性能分頁,可以做類似微博那種下拉不斷分頁的東西(一頁一頁的往下走),性能高。
#Set
set 對外提供的功能與list類似是一個列表的功能,特殊之處在于 set 是可以自動排重的。
當你需要存儲一個列表數(shù)據(jù),又不希望出現(xiàn)重復數(shù)據(jù)時,set是一個很好的選擇,并且set提供了判斷某個成員是否在 一個set集合內的重要接口,這個也是list所不能提供的??梢曰?set 輕易實現(xiàn)交集、并集、差集的操作。
比如:在微博應用中,可以將一個用戶所有的關注人存在一個集合中,將其所有粉絲存在一個集合。Redis可以非常 方便的實現(xiàn)如共同關注、共同粉絲、共同喜好等功能。這個過程也就是求交集的過程,具體命令如下:sinterstore key1 key2 key3
將交集存在key1內。
#Sorted Set
和set相比,sorted set增加了一個權重參數(shù)score,使得集合中的元素能夠按score進行有序排列。
舉例: 在直播系統(tǒng)中,實時排行信息包含直播間在線用戶列表,各種禮物排行榜,彈幕消息(可以理解為按消息維 度的消息排行榜)等信息,適合使用 Redis 中的 SortedSet 結構進行存儲。文章來源:http://www.zghlxwxcb.cn/news/detail-818968.html
?
到了這里,關于Redis常見數(shù)據(jù)結構以及使用場景分別是什么的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!