Redis 基本數據類型


一.key的操作

在redis里邊,除了”\n”和空格 不能作為名字的組成內容外,其他內容都可以作為key的名字部分。名字長度不做要求。

exists key          #測試指定key是否存在
del key1 key2 key3  #刪除給定的key
type key            #返回給定的value的類型
keys pattern        #返回匹配指定模式的所有key
rename oldkey newkey#改名字
dbsize              #返回當前數據庫的key數量
expire key seconds  #為key指定過期時間
ttl key             #返回key的剩余過期秒數
select db-index     #選擇數據庫
move key db-index   #將key從當前數據庫移動到指定數據庫
flushdb             #刪除當前數據庫中所有key
flushall            #刪除所有數據庫中的所有key

二.String字符串類型的操作

string是redis最基本的類型 
redis的string可以包含任何數據。包括jpg圖片或者序列化的對象。 
單個value值最大上限是1G字節。 
如果只用string類型,redis就可以被看作加上持久化特性的memcache

set key value                   #設置key對應的值為string類型的value
mset key1 value1 key2 value2    #一次設置多個key的值
mget key1 key2                  #一次獲取多個key的值
incr key                        #對key的值做加加操作,並返回新的值
decr key                        #對key的值做漸減操作,並返回新的值
incrby key integer              #同incr,加指定的值
decrby key integer              #同decr,減指定的值
append key value                #給指定key的字符串值追加value
substr key start end            #返回截取過的key的字符串值

三.List鏈表類型

(一)介紹

獲得最新的10個登錄用戶信息: select * from user order by logintime desc limit 10; 
以上sql語句可以實現用戶需求,但是數據多的時候,全部數據都要受到影響,對數據庫的負載比較高。必要情況還需要給關鍵字段(id或logintime)設置索引,索引也比較耗費系統資源 
如果通過list鏈表實現以上功能,可以在list鏈表中只保留最新的10個數據,每進來一個新數據就刪除一個舊數據。每次就可以從鏈表中直接獲得需要的數據。極大節省各方面資源消耗

(二)應用

list類型其實就是一個雙向鏈表。通過push,pop操作從鏈表的頭部或者尾部添加刪除元素。 
這使得list既可以用作棧,也可以用作隊列

上進上出 :棧 
上進下出 :隊列 

lpush key string    #在key對應list的頭部添加字符串元素
rpop key            #在list的尾部刪除元素,並返回刪除元素
llen key 返回key      #對應list的長度,key不存在返回0,如果key對應類型不是list返回錯誤
lrange key start end  #返回指定區間內的元素,下標從0開始
rpush key string        #同上,在尾部添加
lpop key            #從list的頭部刪除元素,並返回刪除元素
ltrim key start end  #截取list,保留指定區間內元素

四.set類型

 redis的set是string類型的無序集合。 
set元素最大可以包含(2的32次方-1)個元素。 
關於set集合類型除了基本的添加刪除操作, 
其他有用的操作還包含集合的取並集(union),交集(intersection),差集(difference)。通過這些操作可以很容易的實現sns中的好友推薦功能。 
注意:每個集合中的各個元素不能重復。

sadd key member             #添加一個string元素到key對應的set集合中,成功返回1,如果元素已經在集合中,返回0,key對應的set不存在返回錯誤
srem key member [memeber]    #從key對應set中移除給定元素,成功返回1
smove p1 p2 member          #從p1 對應set中移除member並添加到p2對應set中
scard key                   #返回set的元素個數
sismember key member        #判斷member是否在set中
sinter key1 key2...keyn     #返回所有給定key的交集
sunion key1 key2...keyn      #返回所有給定key的並集
sdiff key1 key2...keyn      #返回所有給定key的差集
smembers key                #返回key對應set的所有元素,結果是無序的

五.Sort Set排序集合類型

sort  set類型:排序集合類型,相比set類型有排序功能 

1、添加元素到集合,元素在集合中存在則更新對應score  
zadd key score member  
  
2、刪除指定元素,1表示成功,如果元素不存在返回0  
zrem key member  
  
3、按照incr幅度增加對應member的score值,返回score值  
zincrby key incr member  
  
4、返回指定元素在集合中的排名,集合中元素是按score從小到大排序  
zrank key member  
  
5、同上,但是集合中元素是按score從大到小排序  
zrevrank key member  
  
6、類似lrange操作從集合中去指定區間元素,返回是有序結果  
zrange key start end  
  
7、同上,返回結果是按score逆序的  
zrevrange key start end  
  
8、返回集合中score在給定區間的元素  
zrangebyscore key min max  
  
9、返回集合中score在給定區間的數量  
zcount key min max  
  
10、返回集合中元素個數  
zcard key  
  
11、返回給定元素對應score  
zscore key element  
  
12、刪除集合中排名在給定區間的元素  
zremrangebyrank key min max  
  
13、刪除集合中score在給定區間元素  
zremrangebyscore key min max  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM