String資料型別的應用場景

Leon_Jinhai_Sun發表於2020-09-26

1. 簡介

  string 型別是 Redis 中最基本的資料型別,最常用的資料型別,甚至被很多玩家當成 redis 唯一的資料型別去使用。string 型別在 redis 中是二進位制安全(binary safe)的,這意味著 string 值關心二進位制的字串,不關心具體格式,你可以用它儲存 json 格式或 JPEG 圖片格式的字串。   

2. 資料模型

  string 型別是基本的 Key-Value 結構,Key 是某個資料在 Redis 中的唯一標識,Value 是具體的資料。

KeyValue
‘name’‘redis’
‘type’‘string’

3. 應用場景

(1) 儲存 MySQL 中某個欄位的值

把 key 設計為 表名:主鍵名:主鍵值:欄位名 eg.

set user:id:1:email 10000@qq.com

(2) 儲存物件

string 型別支援任何格式的字串,應用最多的就是儲存 json 或其他物件格式化的字串。(這種場景下推薦使用 hash 資料型別)

set user:id:1 '[{"id":1,"name":"zj","email":"10000@qq.com"},{"id":1,"name":"zj","email":"10000@qq.com"}]'

(3) 生成自增 id

當 redis 的 string 型別的值為整數形式時,redis 可以把它當做是整數一樣進行自增(incr)自減(decr)操作。由於 redis 所有的操作都是原子性的,所以不必擔心多客戶端連線時可能出現的事務問題。

incr 對值進行加1操作,如果不是整數,返回錯誤,如果不存在按照從0開始decr 同incr,但是是減1操作incrby,decrby ,增加減去指定的數

應用場景:比如視訊播放次數,點贊次數。

(4)共享session

資料共享的功能,redis作為單獨的應用軟體用來儲存一些共享資料供多個例項訪問。

單點登入的一個具體實現

(5)自動定時過期刪除

set key value [ex seconds] [px millseconds] [nx|xx]

ex seconds: 鍵過期時間

px milliseconds: 為鍵設定毫秒級過期時間

nx: 鍵必須不存在才可以設定成功,用於新增

xx: 鍵必須存在,才可以設定成功,用於更新

(6)批量操作

mset,mget

批量設定和獲取命令,在操作多個key的時候可以節省網路傳輸時間

mset key value [key value...]
mget key [key ...]

 

相關文章