redis系列
簡(jiǎn)介:
Reids默認(rèn)端口6379,隊(duì)列要遵循先進(jìn)先出的原則,是在消息的傳輸中保存消息的容器,消息隊(duì)列管理器在將消息從它的源中繼到它的目標(biāo)時(shí)充當(dāng)中間人,隊(duì)列的主要目的是提供路由并保證消息的傳遞;如果發(fā)送消息時(shí)接收者不可用,消息隊(duì)列會(huì)保留消息,知道可以成功的傳遞它。
Redis數(shù)據(jù)類型:
String、hash、list、zset、set
字符串string:
Redis中的key、value區(qū)分大小寫,命令不區(qū)分大小寫,value最大可容納的數(shù)據(jù)長(zhǎng)度是512M。
Set key value 往key中存入一個(gè)值value
Get key 獲取鍵key的值
Incr key key值對(duì)應(yīng)的value自增1,如果沒有這個(gè)key值自動(dòng)給你創(chuàng)建 并賦值1;
Decr key key值對(duì)應(yīng)的value自減1
應(yīng)用場(chǎng)景:
Incr、decr 計(jì)數(shù)器
Setnx、expire、del 分布式鎖
set 存儲(chǔ)對(duì)象(不常變化的部分)
散列hash:
相當(dāng)于是一個(gè)key中存在多個(gè)map。Redis中的散列可以看成具有key和value的map容器,可以將多個(gè)key-value存儲(chǔ)到一個(gè)key中,每個(gè)hash可以存儲(chǔ)4294967295
個(gè)鍵值對(duì)。
Hset key field value 設(shè)置值
Hget key field 獲取值
應(yīng)用場(chǎng)景:
購物車:以用戶的id為key,商品的id為field 商品的數(shù)量為value
hset、hincby 存儲(chǔ)對(duì)象(頻繁變化的部分)
無序集合set
Redis的集合是無序不可重復(fù)的(此處的無序是數(shù)據(jù)不能重復(fù)),和列表一樣,在執(zhí)行插入和刪除以及判斷是否存在某元素時(shí),效率是很高的,集合最大的優(yōu)勢(shì)在于可以進(jìn)行交集、并集、差集操作。Set可包含的最大元素?cái)?shù)量是4294967295。
應(yīng)用場(chǎng)景:
- 利用交集求共同好友;
- 利用唯一性,可以統(tǒng)計(jì)訪問網(wǎng)站的所有獨(dú)立IP;
- 好友推薦的時(shí)候,更具tag求交集,大于某個(gè)threshold(臨界值)就可以推薦;
有序集合sortedset(zset)
有順序的,不能重復(fù)(此處的不能重復(fù)是索引為唯一的,數(shù)據(jù)卻可以重復(fù)),和set很像,都是字符串的集合,都不允許重復(fù)的成員出現(xiàn)出現(xiàn)在一個(gè)set中,它們之間的差別在于有序集合中每個(gè)成員都會(huì)有一個(gè)分?jǐn)?shù)(score)與之關(guān)聯(lián),redis正是通過分?jǐn)?shù)來為集合中的成員從小到大的順序。盡管有序集合中
應(yīng)用場(chǎng)景:
- 利用交集求共同好友;
- 利用唯一性,可以統(tǒng)計(jì)訪問網(wǎng)站的所有獨(dú)立IP;
- 好友推薦的時(shí)候,更具tag求交集,大于某個(gè)threshold(臨界值)就可以推薦;

浙公網(wǎng)安備 33010602011771號(hào)