」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 雷迪斯2

雷迪斯2

發佈於2024-08-15
瀏覽:442

Redis 2

Redis - 清單、集合和 HashMap

這是上一篇的延續

除了鍵值對之外,還有其他 3 種資料型別可用

清單

此資料結構類似 Python 中的列表或 Javascript 或 C# 中的陣列。它們可用於保存最近使用過的物品。常見的操作有;

營運 說明 範例 進一步說明
LPUSH 將項目加入到清單的開頭 LPUSH好友「索菲亞」 類似javascript中的Array.unshift
LRANGE 取得清單中的所有項目 LRANGE好友0 -1 類似python中的列表0是第一項,-1是最後一項
反推 將項目加到列表末尾 RPUSH 朋友「Poe」 類似javascript中的Array.push
LPOP 從清單開頭刪除項目 LPOP好友「Poe」 如果 Poe 存在於清單中則回傳 1,否則傳回 0
RPOP 從清單結束時刪除項目 RPOP好友「索菲亞」 如果 Sophia 存在於清單中則回傳 1,否則傳回 0

僅包含唯一項目的資料結構。類似 Python 中的集合、Javascript 中的集合和 C# 中的 HashSet。常見操作包括;

營運 說明 範例 進一步說明
SADD 在集合中加入一個值 SADD 顏色「粉紅色」
會員 傳回集合的成員 SMEMBERS 顏色 將傳回設定顏色的所有項目
SREM 刪除集合的成員 SREM 顏色「粉紅色」 如果粉紅色存在於清單中則回傳 1,否則傳回 0

哈希圖

哈希圖是一組鍵值對。然而,哈希圖不能嵌套。讓我們來看一個有姓名、電子郵件和電話號碼的人的案例場景

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "[email protected]" # Adds the key-value pair {email : [email protected]} to the hashmap
HSET person phone_number " 2345656655413" # Adds the key-value pair {number : ....} to the hashmap

HGET 指令可用來取得 hashmap 中特定鍵的值

HGET person name # returns "Joe"

HGETALL指令hashmap中的所有鍵值對

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "[email protected]"
5) "phone_number"
6) " 2345656655413"

HDEL指令透過鍵刪除鍵值對

HDEL person name # removes {name : joe}

HEXISTS 指令檢查雜湊集中是否存在某個鍵

HEXISTS person name # returns 0 because we've deleted it before

這些是開發人員需要了解的大部分基本命令。


常見面試問題

  1. Redis的完整意義是什麼? :Redis代表遠端字典伺服器

  2. Redis 與 MySQL 等傳統資料庫有何不同? :Redis 運行在主記憶體中,具有快速存取值的基本操作,不像 SQL 駐留在磁碟上並具有廣泛的增刪改查操作

  3. Redis 在資料大小和類型方面有哪些限制? :Redis 旨在保存適合機器記憶體的值。它不適合具有連接的複雜關係模型或建立大型 blob

  4. 如何使用Redis在分散式環境中處理快取? :透過將redis實例設定為資料庫前面的快取層來處理快取。使用一致性雜湊來分配快取節點上的金鑰,確保均勻的負載分佈並減少快取未命中

  5. 何時應該在 Redis 中使用清單資料型別? :清單非常適合持久原子佇列、作業佇列、日誌、緩衝區和許多其他用例

版本聲明 本文轉載於:https://dev.to/ezekiel_77/redis-2-fec?1如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3