redis數(shù)據(jù)類型有哪些?相信有很多人都不太了解,今天小編為了讓大家更加了解redis數(shù)據(jù)類型,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。
作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運(yùn)營等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡(luò)營銷方法,創(chuàng)造更大的價(jià)值。redis 主要有以下幾種數(shù)據(jù)類型:
string
hash
list
set
sorted set
string
這是最簡單的類型,就是普通的 set 和 get,做簡單的 KV 緩存。
set college szu
hash
這個(gè)是類似 map 的一種結(jié)構(gòu),這個(gè)一般就是可以將結(jié)構(gòu)化的數(shù)據(jù),比如一個(gè)對(duì)象(前提是這個(gè)對(duì)象沒嵌套其他的對(duì)象)給緩存在 redis 里,然后每次讀寫緩存的時(shí)候,可以就操作 hash 里的某個(gè)字段。
hset person name bingo hset person age 20 hset person id 1 hget person name person = { "name": "bingo", "age": 20, "id": 1 }
list
list 是有序列表,這個(gè)可以玩兒出很多花樣。
比如可以通過 list 存儲(chǔ)一些列表型的數(shù)據(jù)結(jié)構(gòu),類似粉絲列表、文章的評(píng)論列表之類的東西。
比如可以通過 lrange 命令,讀取某個(gè)閉區(qū)間內(nèi)的元素,可以基于 list 實(shí)現(xiàn)分頁查詢,這個(gè)是很棒的一個(gè)功能,基于 redis 實(shí)現(xiàn)簡單的高性能分頁,可以做類似微博那種下拉不斷分頁的東西,性能高,就一頁一頁走。
# 0開始位置,-1結(jié)束位置,結(jié)束位置為-1時(shí),表示列表的最后一個(gè)位置,即查看所有。
lrange mylist 0 -1
比如可以搞個(gè)簡單的消息隊(duì)列,從 list 頭懟進(jìn)去,從 list 尾巴那里弄出來。
lpush mylist 1 lpush mylist 2 lpush mylist 3 4 5 # 1 rpop mylist
set
set 是無序集合,自動(dòng)去重。
直接基于 set 將系統(tǒng)里需要去重的數(shù)據(jù)扔進(jìn)去,自動(dòng)就給去重了,如果你需要對(duì)一些數(shù)據(jù)進(jìn)行快速的全局去重,你當(dāng)然也可以基于 jvm 內(nèi)存里的 HashSet 進(jìn)行去重,但是如果你的某個(gè)系統(tǒng)部署在多臺(tái)機(jī)器上呢?得基于 redis 進(jìn)行全局的 set 去重。
可以基于 set 玩兒交集、并集、差集的操作,比如交集吧,可以把兩個(gè)人的粉絲列表整一個(gè)交集,看看倆人的共同好友是誰?對(duì)吧。
把兩個(gè)大 V 的粉絲都放在兩個(gè) set 中,對(duì)兩個(gè) set 做交集。
#-------操作一個(gè)set------- # 添加元素 sadd mySet 1 # 查看全部元素 smembers mySet # 判斷是否包含某個(gè)值 sismember mySet 3 # 刪除某個(gè)/些元素 srem mySet 1 srem mySet 2 4 # 查看元素個(gè)數(shù) scard mySet # 隨機(jī)刪除一個(gè)元素 spop mySet #-------操作多個(gè)set------- # 將一個(gè)set的元素移動(dòng)到另外一個(gè)set smove yourSet mySet 2 # 求兩set的交集 sinter yourSet mySet # 求兩set的并集 sunion yourSet mySet # 求在yourSet中而不在mySet中的元素 sdiff yourSet mySet
sorted set
sorted set 是排序的 set,去重但可以排序,寫進(jìn)去的時(shí)候給一個(gè)分?jǐn)?shù),自動(dòng)根據(jù)分?jǐn)?shù)排序。
zadd board 85 zhangsan zadd board 72 lisi zadd board 96 wangwu zadd board 63 zhaoliu # 獲取排名前三的用戶(默認(rèn)是升序,所以需要 rev 改為降序) zrevrange board 0 3 # 獲取某用戶的排名 zrank board zhaoliu
以上就是redis數(shù)據(jù)類型有哪些的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。