關注微信公眾號【J
ava之言】,更多干貨文章和學習資料,助你放棄編程之路!
| 序號 | 標題 |
|---|---|
| 01 | Redis入門到超神 - 01 Redis介紹與安裝 |
| 02 | Redis入門到超神 - 02 Redis為什么默認16個資料庫 |
| 03 | Redis入門到超神 - 03 redis.conf組態檔詳解 |
| 04 | Redis入門到超神 - 04 redis的5種資料結構 |
Redis 五種資料結構

關于命令的具體用法推薦網站: Redis命令教程中文版
String 字串
String 型別是 redis 中最基本的資料型別,一個 key 對應一個 value ,并且 String 型別是二進制安全的,意思是 redis 的 String 可以包含任何資料,例如數字,字串,jpg圖片或者序列化的物件,
常用命令:get ,set ,del ,incr ,decr,getset,incrby 等,
應用場景:
- 熱點資料,常用資料,結果不經常變動資料快取;
- 計數器,用戶點贊數,pv/uv等,
- session,比如 spring session + redis 實作 session 共享,
List 鏈表
List 即鏈表(redis 使用雙端鏈表實作的 List),它是有序的,value可以重復,可以通過下標取出對應的value值,左右兩邊都能進行插入和洗掉資料,List 的另一個應用就是訊息佇列,可以利用 List 的 PUSH 操作,將任務存在 List 中,然后作業執行緒再用 POP 操作將任務取出進行執行,
一個串列最多可以包含 232 - 1 個元素 (4294967295, 每個串列超過40億個元素),
常用命令:linsert,llen,lpop,lpush,lrem,rpop,rpush等,
應用場景:
- 微博timeline
- 訊息佇列
Hash 哈希
Redis hash 是一個 string 型別的 field 和 value 的映射表,hash 特別適合用于存盤物件,它是一個Mapmap,指值本身又是一種鍵值對結構,如 value={{field1,value1},…fieldN,valueN}},
Redis 中每個 hash 可以存盤 232 - 1 鍵值對(40多億),
常用命令:hexists,hget,hgetall,hdel,hlen,hkeys等等,
應用場景:快取用戶資訊,等,
Set 集合
集合型別用來保存多個字串的元素,集合中沒有重復的元素;集合中的元素是無序的;不能通過索引下標獲取元素;支持集合間的操作,例如多個集合取交集、并集、差集,
Redis 中 集合是通過哈希表實作的,所以添加,洗掉,查找的復雜度都是O(1),集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存盤40多億個成員),
常用命令:sadd 、srem、scard、smembers、sismember等,
應用場景:共同好友,共同愛好,用戶打標簽等,
zset 有序集合
和Sets相比,Sorted Sets是將 Set 中的元素增加了一個權重引數 score,使得集合中的元素能夠按 score 進行有序排列,有序集合中的元素不可以重復,但是score 分數 可以重復,
常用命令:zadd,zcard, zrange,zscore,zrange等,
應用場景:各種排行榜,例如點贊數排行,關注數排行,等等,
關注微信公眾號【
Java之言】,更多干貨文章和學習資料,助你放棄編程之路!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260375.html
標籤:其他

