Redis基本資料型別及使用場景

2021-09-26 04:59:30 字數 948 閱讀 8603

這個問題應該算是比較簡單的了,工作一兩年的朋友基本都會遇到過,此文僅做梳理。

一、基本資料型別分為5種:string、hash、list、set、zset(有序集合)

二、使用場景:

1、string

命令:set key value

這個沒有什麼好說的,最常規的也就是set/get操作,value 可以是string 也可以是數字,一般做一些複雜的計數功能的快取。

可以做分布式鎖,使用 setnx key value (當key不存在時,將key的值設定為value,並返回1,可以表示獲取鎖資源。如果key存在,則setnx不做操作,表示獲取鎖失敗)。當然這其中還存在很多問題,比如訪問資源無響應就會導致無法釋放鎖,從而堆積想要獲取鎖的執行緒,那麼我們可以使用以下原子命令來設定 set key value nx px seconds ---> nx 不存在  px 過期時間。

也可以做分布式全域性唯一id,直接獲取一段userid的最大值,快取到本地慢慢累加,快到userid的最大值時,再去獲取一段,乙個使用者服務宕機了,也頂多一小段userid沒有用到。

2、hash

命令:set key field value 

這裡的value存放的是結構化的物件,比較方便操作其中的某個字段。在做單點登入的時候,就可以用這種資料結構存書使用者的資訊,以cookieid作為key,設定過期時間,就能模擬出session的效果。

3、list

使用list資料結構,可以做簡單的訊息佇列的功能(當然比不上專業的訊息中介軟體),另乙個就是可以利用lrange命令做分頁,效能還是不錯的。

4、set

用於去重,比如**、點讚等只能參與一次的操作。另外可以利用交集、並集、差集等操作,計算共同喜好、全部喜好及個人獨自喜好等功能。

5、zset

zset相比於set來說多了乙個引數score,集合中的所有元素可以通過score進行排序,比如應用排行榜、**排行榜等。

redis 基本資料型別及使用

支援資料的持久化,可以將記憶體中的資料儲存到磁碟中,下次重啟以後再載入回記憶體 支援更多的資料型別,除了kv以外,還有list set hash zset等 支援資料的備份,主從模式的資料備份 單執行緒預設是16個資料庫,初始使用第 0 資料庫 資料庫之間的切換 select dbid dbsize...

Redis基本資料型別及命令

redis的資料結構 字串 string 字串列表 list 字串集合 set 有序字串集合 sorted set 雜湊 hash 常用命令 設定值set key value 先獲取再設定 getset key value 獲取值get key 刪除值del key 增減incr key 將制定ke...

redis基本資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string key value型 0.1 6379 set name haha ok127.0 0.1 6379 get name haha hash 是乙個鍵...