Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
String存取值:
是 redis 最基本的類型 一個(gè) key 對(duì)應(yīng)一個(gè) value。value其實(shí)不僅是String,也可以是數(shù)字。string 類型是二進(jìn)制安全的。意思是 redis 的 string 可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對(duì)象。string 類型是 Redis 最基本的數(shù)據(jù)類型,string 類型的值最大能存儲(chǔ) 512MB?!∈褂脠?chǎng)景:常規(guī)key-value緩存應(yīng)用。常規(guī)計(jì)數(shù): 微博數(shù), 粉絲數(shù)。
存值:SET key value 取值:GET key
hash存取值:
是一個(gè)鍵值(key => value)對(duì)集合。Redis hash 是一個(gè) string 類型的 field 和 value 的映射表,hash 特別適合用于存儲(chǔ)對(duì)象
存值 HMSET key field value [field value ...] 取值 HGET key field 或者 SCAN cursor [MATCH pattern] [COUNT count]
或者 HGETALL key 獲取全部
list存取值:
列表是簡(jiǎn)單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素到列表的頭部(左邊)或者尾部(右邊)常用命令:lpush(添加左邊元素),rpush,lpop(移除左邊第一個(gè)元素),rpop,lrange(獲取列表片段,LRANGE key start stop)等
存值:LPUSH key value [value ...] 取值:LRANGE key start stop
set存取值:
是string類型的無序集合。集合是通過hashtable實(shí)現(xiàn)的,概念和數(shù)學(xué)中個(gè)的集合基本類似,可以交集,并集,差集等等,set中的元素是沒有順序的。set對(duì)外提供的功能與list類似是一個(gè)列表的功能,特殊之處在于set是可以自動(dòng)排重的,當(dāng)你需要存儲(chǔ)一個(gè)列表數(shù)據(jù),又不希望出現(xiàn)重復(fù)數(shù)據(jù)時(shí),set是一個(gè)很好的選擇,并且set提供了判斷某個(gè)成員是否在,一個(gè)set集合內(nèi)的重要接口,這個(gè)也是list所不能提供的
存值:sadd key member [member ...] 取值: SMEMBERS key 或者 SSCAN key cursor [MATCH pattern] [COUNT count]
zset存取值:
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。當(dāng)你需要一個(gè)有序的并且不重復(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]
如果元素在集合中存在則更新對(duì)應(yīng)score java從原來第一個(gè)變?yōu)榈谖鍌€(gè)
如果score已經(jīng)存在,則插入新的元素為對(duì)應(yīng)score redis插入原有的有序排序中
結(jié)合輔助軟件可以看得更加清晰
、
到此這篇關(guān)于淺談Redis存儲(chǔ)數(shù)據(jù)類型及存取值方法的文章就介紹到這了,更多相關(guān)Redis存儲(chǔ)數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- redis的五大數(shù)據(jù)類型應(yīng)用場(chǎng)景分析
- Redis高級(jí)數(shù)據(jù)類型Hyperloglog、Bitmap的使用
- Redis六大數(shù)據(jù)類型使用方法詳解
- Redis常用數(shù)據(jù)類型命令實(shí)例匯總
- 詳解Redis 數(shù)據(jù)類型
- 詳解Redis數(shù)據(jù)類型實(shí)現(xiàn)原理