Redis 學習-資料結構基本簡介

FLaravel發表於2020-04-27

redis 可以儲存5中不同資料結構型別之間的對映,這五種資料結構型別分別為STRING(字串),LIST(列表),SET(集合),HASH(雜湊),ZSET(有序集合)

結構型別 結構與儲存的值 結構的讀寫能力
STRING 可以是字串,整數或者浮點數 對整個自負換或者字串其中一部分執行擦走哦,對整數和浮點數自增(increment)或者自減少(decrement)操作
LIST 一個連結串列,連結串列上的每個節點都包含了一個字串(也就是字串的所有屬性結構) 從連結串列的兩端推入或者彈出元素,根據偏移量對連結串列進行修剪,讀取單個或者多個元素,根據值查詢或者移除元素
SET 包含字串的無序收集器,並且被包含的每個字串都是獨一無二的,各不相同 新增,獲取,移除單個元素,檢查一個元素是否存在於集合中,計算交集,並集,差集,從集合裡面隨機獲取元素
HASH 包含鍵值對的無序雜湊表 新增,獲取,移除單個鍵值對,獲取所有鍵值對
ZSET 字串與浮點數分值之間對有序對映,元素的排列順序由分值的大小決定 新增,獲取,刪除單個元素,根據分值範圍活成員來獲取元素

STRING(字串)

Laravel

  • GET: 獲取儲存在給定鍵中的值
  • SET: 設定儲存在給定鍵中的值
  • DEL: 刪除儲存在給定鍵中的值(該命令可以適應所有的型別)

程式碼示例:
Laravel

LIST(列表)

一個列表結構可以有序的儲存多個字串

Laravel

  • RPUSH:將給定的值推入列表的右端
  • LRANGE: 獲取列表在給定範圍上的所有值
  • LINDEX: 獲取列表在給定位置上的單個元素
  • LPOP: 從列表的左端彈出一個值,並返回被彈出的值

程式碼示例:

Laravel

SET(集合)

Redis中的結合和列表都可以儲存多個字串,它們之間的不同在於,列表可以儲存多個相同的字串,而集合則透過使用雜湊表來保證自己儲存的每個字串都是各不相同的
Laravel

  • SADD: 將給定元素新增到集合
  • SMEMBERS: 返回集合包含到所有元素
  • SISMEMBER: 檢查給定定元素是否存在於集合中
  • SREM: 如果給定定元素存在於集合中,那麼就刪除這個元素
  • SINTER: 交集計算
  • SUNION: 並集計算
  • SDIFF: 差集計算

程式碼示例:
Laravel

HASH(雜湊)

HASH(雜湊)可以儲存多個鍵值對之間對對映,和字串一樣,HASH的值可以是字串也可以是數值,並且使用者同樣可以對HASH數字值自增自減操作

Laravel

  • HSET: 關聯起給定對鍵值對
  • HGET: 獲取指定的鍵值對
  • HGETALL: 獲取雜湊包含對所有鍵值對
  • HDEL: 如果給定鍵存於雜湊裡面,那麼移除這個鍵

程式碼示例:
Laravel

ZSET(有序集合)

有序集合的鍵被成為成員(member),每個成員都是各不相同的,而有序集合的值則被成為分值(score),分值必須為浮點數,有序集合是Redis裡面唯一一個既可以根據成員訪問元素,又可以根據分值以及分值等排列順序來訪問元素等結構

Laravel

  • ZADD: 將一個帶有給定分值等成員新增
  • ZRANGE: 獲取指定的鍵值對
  • ZRANGEBYSCORE: 獲取雜湊包含對所有鍵值對
  • ZREM: 如果給定鍵存於雜湊裡面,那麼移除這個鍵

程式碼示例:

Laravel

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章