redis 資料都是 k-v 模型,本身就是hashmap 一種形式,器豐富的資料型別,應該場景特別多。
redis 可使用redis-cli:help @string 檢視方法
一,string
1, 簡單的 key : value
2,計數器:設定數值時,incr 加1 ,decr 減1。數值計算
3,二進位制位計算:統計使用者 登入天數 1 0 0 1 1 0(登入四天)。365 就是365 個二進位制位。
使用者a: setbit 202001 9 1使用者a 第八天登入設定
使用者a:setbit 202002 265 1
使用者a 第264天登入
使用者b: setbit 20200101 8 1
使用者b 第七天登入設定
使用場景:快取k-v、session、檔案系統fs(小檔案 專案中頻繁 io 特別快)、計數器、統計註冊數、活躍數等等
二、list
lpush 新增的資料 a b c d e lrange 0 -1 得到是 e d c b a
1,list 同向 lpush lpop, rpush lpop(先進後出) 模仿 棧行為
2, list 異向 lpush rpop (先進先出) 模仿佇列
3,lindex key 1 模仿陣列
4,lstrm 可以優化reids 記憶體量。可以只返回部分資料,全量資料可以到mysql查詢,因為不是大部分使用者檢視全量資料
三、hash
如果沒有hash:
set sean::name tom
set sean::age 18
但是 使用hash:
hset sean name tom
hset sean age 18
就會發現 key 變少了,只有sean 了,只需要 hgetall sean 就可以拿到所有資料,hkeys sean 拿到所有key, hvals sean 拿到所有資料
hash 可以理解為乙個hashmap
hashmap : redis 的 key-value 就是hashmap ---> hash_table
使用場景:集聚資料(頁面來自很多表的時候,並且資料變化不頻繁),詳情頁,使用者詳情
四、set
特點:無序且不重複
應該場景:**,驗證碼,撲克牌
五、zset
特點:有序且不重複
主要實現:skiplist
Redis五種資料型別及應用
redis常見的五種資料型別 string hash list set sorted set zset string是簡單的key value型別,效率高。常用命令 get set incr decr mget等 應用 常規的key value操作 常規計數 微博數 粉絲數 點讚數 hash其實也是...
Redis 五種資料型別
一 前言 上篇部落格已經對redis的一些基本知識做了一些簡介,這篇部落格,將簡單介紹一些redis的五種資料型別。分別為string 字串 hash 雜湊 list 鍊錶 set 集合 zset 有序集合 對這些型別可以執行很多原子性的操作 比如向乙個string型別的value後面追加字串 向l...
Redis 五種資料型別
目錄 redis共有strings hashs lists sets sorted sets五種資料型別,可以說已經比較豐富了。下面只對這幾種資料型別的資料結構與用途做簡要介紹。至於每種資料型別的操作api,這裡只簡單一提,不再一一詳細介紹,有需要的使用者可以google即可。string是最簡單的...