Redis 五種資料型別及其應用場景

2022-08-24 00:21:14 字數 1240 閱讀 3452

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是最簡單的...