淺談Redis存儲數(shù)據(jù)類型及存取值方法
Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
String存取值:
是 redis 最基本的類型 一個 key 對應(yīng)一個 value。value其實(shí)不僅是String,也可以是數(shù)字。string 類型是二進(jìn)制安全的。意思是 redis 的 string 可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對象。string 類型是 Redis 最基本的數(shù)據(jù)類型,string 類型的值最大能存儲 512MB。 使用場景:常規(guī)key-value緩存應(yīng)用。常規(guī)計數(shù): 微博數(shù), 粉絲數(shù)。
存值:SET key value 取值:GET key

hash存取值:
是一個鍵值(key => value)對集合。Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象
存值 HMSET key field value [field value ...] 取值 HGET key field 或者 SCAN cursor [MATCH pattern] [COUNT count]
或者 HGETALL key 獲取全部

list存取值:
列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)常用命令:lpush(添加左邊元素),rpush,lpop(移除左邊第一個元素),rpop,lrange(獲取列表片段,LRANGE key start stop)等
存值:LPUSH key value [value ...] 取值:LRANGE key start stop

set存取值:
是string類型的無序集合。集合是通過hashtable實(shí)現(xiàn)的,概念和數(shù)學(xué)中個的集合基本類似,可以交集,并集,差集等等,set中的元素是沒有順序的。set對外提供的功能與list類似是一個列表的功能,特殊之處在于set是可以自動排重的,當(dāng)你需要存儲一個列表數(shù)據(jù),又不希望出現(xiàn)重復(fù)數(shù)據(jù)時,set是一個很好的選擇,并且set提供了判斷某個成員是否在,一個set集合內(nèi)的重要接口,這個也是list所不能提供的
存值:sadd key member [member ...] 取值: SMEMBERS key 或者 SSCAN key cursor [MATCH pattern] [COUNT count]

zset存取值:
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。不同的是每個元素都會關(guān)聯(lián)一個double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。當(dāng)你需要一個有序的并且不重復(fù)的集合列表,那么可以選擇sorted set數(shù)據(jù)結(jié)構(gòu),zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
存值:zadd key [NX|XX] [CH] [INCR] score member [score member ...] 取值: ZRANGE key start stop [WITHSCORES]
或者 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

如果元素在集合中存在則更新對應(yīng)score java從原來第一個變?yōu)榈谖鍌€

如果score已經(jīng)存在,則插入新的元素為對應(yīng)score redis插入原有的有序排序中

結(jié)合輔助軟件可以看得更加清晰
、
到此這篇關(guān)于淺談Redis存儲數(shù)據(jù)類型及存取值方法的文章就介紹到這了,更多相關(guān)Redis存儲數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis實(shí)現(xiàn)高并發(fā)計數(shù)器
這篇文章主要為大家詳細(xì)介紹了Redis實(shí)現(xiàn)高并發(fā)計數(shù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10
redis集群實(shí)現(xiàn)清理前綴相同的key
這篇文章主要介紹了redis集群實(shí)現(xiàn)清理前綴相同的key,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
Redis數(shù)據(jù)結(jié)構(gòu)之intset整數(shù)集合使用學(xué)習(xí)
這篇文章主要為大家介紹了Redis數(shù)據(jù)結(jié)構(gòu)之整數(shù)集合使用學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
redis主從復(fù)制的原理及實(shí)現(xiàn)
Redis主從復(fù)制是一種數(shù)據(jù)同步機(jī)制,它通過將一個Redis實(shí)例的數(shù)據(jù)復(fù)制到其他Redis,本文主要介紹了redis主從復(fù)制的原理及實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-08-08
一文詳解Redis在Ubuntu系統(tǒng)上的安裝步驟
安裝redis在Ubuntu上有多種方法,下面這篇文章主要給大家介紹了關(guān)于Redis在Ubuntu系統(tǒng)上安裝的相關(guān)資料,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
談?wù)凴edis分布式鎖的正確實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Redis分布式鎖的正確實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

