1. 程式人生 > 其它 >Redis常用資料型別

Redis常用資料型別

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儲存結構完全相同,但是僅儲存鍵,不儲存值
  • 值不允許重複

基本操作

  • 擴充套件操作

  • 用於同類資訊關聯搜尋,顯示共同關注,進行喜好推薦

Zset

簡介

基本操作