Hash應(yīng)用場(chǎng)景
1.以電商購(gòu)物車為例:以用戶id為key,商品id為field,商品數(shù)量為value
添加商品-》hset cart:1001 10088 1
增加1088商品數(shù)量-》hincrby cart:1001 10088 1
獲取1088商品數(shù)量-》hget cart:1001 10088
獲取購(gòu)物車的商品總數(shù)-》hlen cart:1001
刪除1088商品-》hdel cart:1001 10088
獲取購(gòu)物車所有商品-》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è)元素,若列表中沒(méi)有元素凸郑,阻塞等待裳食,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(抽獎(jiǎng)的時(shí)候可以用到,隨機(jī)抽取幾位獲獎(jiǎng)人員)
SPOP key 【count】從集合key中選出count元素而昨,刪除key(抽不同等級(jí)的獎(jiǎng)救氯,抽到三等獎(jiǎng)的人key刪除,抽二等獎(jiǎng)就不會(huì)存在)
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)過(guò)贊:SISMEMBER like:{消息id} {用戶id}
獲取點(diǎn)贊的用戶列表:SMEMBERS like:{消息id}
獲取點(diǎn)贊用戶數(shù):scard like:{消息id}