redis五種數(shù)據(jù)結(jié)構(gòu)應(yīng)用場景

Hash應(yīng)用場景

1.以電商購物車為例:以用戶id為key,商品id為field,商品數(shù)量為value

添加商品-》hset cart:1001 10088 1

增加1088商品數(shù)量-》hincrby cart:1001 10088 1

獲取1088商品數(shù)量-》hget cart:1001 10088

獲取購物車的商品總數(shù)-》hlen cart:1001

刪除1088商品-》hdel cart:1001 10088

獲取購物車所有商品-》hgetall cart:1001?


List數(shù)據(jù)結(jié)構(gòu)

1.list可以實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)有stack:LPUSH+LPOP(FILO),隊(duì)列:LPUSH+RPOP(FIFO),阻塞隊(duì)列:LPUSH+BRPOP

LPUSH key value[value...]講一個(gè)或多個(gè)value插入到key列表的表頭

RPUSH key value[value...]將一個(gè)或多個(gè)值value插入到key列表的表尾

LPOP key 移除并返回key列表的頭元素

RPOP key 移除并返回key列表的尾元素

LRANGE key start stop返回列表key中指定區(qū)間內(nèi)的元素

BLPOP key [key...] timeout 從key列表彈出一個(gè)元素,若列表中沒有元素,阻塞等待,timeout秒如果timeout=0一直阻塞等待

BRPOP key [key...] timeout從key列表表尾彈出一個(gè)元素

Set數(shù)據(jù)結(jié)構(gòu)

SADD key member [member...]往集合key中存入元素,若存在忽略,不存在則創(chuàng)建(SADD like:{消息id} {用戶id})

SREM key member [member...]從集合key中刪除元素

SMEMBERS key獲取集合key中所有元素

SCARD key獲取集合key的元素個(gè)數(shù)

SISMEMBER key member判斷member元素是否存在于集合key中

SRANDMEMBER key [count]從集合key中選出count元素,不刪除key(抽獎的時(shí)候可以用到,隨機(jī)抽取幾位獲獎人員)

SPOP key 【count】從集合key中選出count元素,刪除key(抽不同等級的獎,抽到三等獎的人key刪除,抽二等獎就不會存在)

SINTER key[key...]交集運(yùn)算

SINTERSTORE destination key [key...]將交集結(jié)果存入新集合destination中

SUNION key [key...]并集運(yùn)算

SUNIONSTORE destination key [key...]將并集結(jié)果存入新集合destination

SDIFF key [key...]差集運(yùn)算

點(diǎn)贊:SADD like:{消息id} {用戶id}

取消點(diǎn)贊:SREM like:{消息id} {用戶id}

檢查用戶是否點(diǎn)過贊:SISMEMBER like:{消息id} {用戶id}

獲取點(diǎn)贊的用戶列表:SMEMBERS like:{消息id}

獲取點(diǎn)贊用戶數(shù):scard like:{消息id}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容