Redis常用資料型別
阿新 • • 發佈:2021-12-30
Redis
簡介
Nosql:非關係型資料庫,作為關係型資料庫的補充
作用:應對基於海量使用者和海量資料前提下的資料處理問題
特徵:
-
資料間沒有必然的關聯聯絡
-
內部採用單執行緒機制進行工作
-
可擴容,可伸縮
-
大資料量下高效能
-
高可用
-
靈活的資料模型
- string
- list
- set
- hash
- Zset
應用:
- 熱點資料儲存
- 任務佇列:秒殺、搶購、購票排隊
- 即時資訊查詢
- 時效性
- 分散式資料共享
- 訊息佇列
- 分散式鎖
安裝
基本操作
string
資料未獲取到 顯示nil
key的命名約定
基本操作
- 新增 set
- 新增多個mset
- 獲取 get
- 獲取多個 mget
- 刪除 del
- 獲取資料字元個數 strlen
擴充套件操作
- 追加資訊到原始資訊後面 append key value
- 設定資料增加(可以用於控制資料庫表主鍵id)
- 自增加一 incr key
- 增加指定範圍 incrby key increment(指定範圍)
- 增加小數 incrbyfloat
- 設定資料減少
- 減少一 decr key
- 減少指定範圍 ncrby key increment(指定範圍)
- 設定資料生命週期 多次設定第二次的會覆蓋第一次的
- setex key seconds value
- psetex key milliseconds value
hash型別
定義
-
對一系列儲存的資料進行編組,方便管理(儲存物件資訊)
-
儲存結構:一個儲存空間保持多個鍵值對
基本操作
- 新增 hset key field value
- 獲取 hget key field
- 獲取所有 hgetall key
- 刪除 key field1( field2)
擴充套件操作
- 獲取雜湊表中所有的欄位名或欄位值
- hkeys key (相當於獲取所有field)
- hvals(相當於獲取所有value)
- 設定指定欄位的數值資料
- hincrby key field increment
- hincrbyfloat key field increment
注意事項
- hash型別下的value只能儲存字串 不存在巢狀現象
- 取資料少用hgetall
小例子 實現購物車
list 型別
簡介
- 資料儲存 (底層用雙向連結串列實現)
- 適用於有序場景 例如訊息佇列,展示最新新聞按照時間順序展示,解決多路訊息的彙總合併按照時間順序輸出
基本操作
拓展操作
-
- key 刪哪個列表
- count 刪幾個
- value 刪什麼內容
注意事項
- 儲存的都是string型別
- 具有索引概念,但是通常以佇列或棧的操作方式進行資料操作
- 可以對資料進行分頁操作,第一頁用list載入,後面的再從資料庫中獲取
set型別
簡介
- 可以儲存大量資料,在查詢方面提供更高效率,list是連結串列,不便於查詢
- 與hash儲存結構完全相同,但是僅儲存鍵,不儲存值
- 值不允許重複
基本操作
-
擴充套件操作
-
用於同類資訊關聯搜尋,顯示共同關注,進行喜好推薦