Data Type
Last updated
Was this helpful?
Last updated
Was this helpful?
本章節簡單介紹Redis提供主要五種資料結構,其中包含STRING(字符串)、LIST(串列/列表)、HASH(散列)、SET(集合)、ZSET(有序集合)。除了上述五種主要的資料結構,可再延伸出HyperLogLog、Bitmaps、Geospatial Indexes等其他資料形式,本教學暫時不提。
Redis所有資料型態皆為一個Key名稱對應一個結構儲存值Value,並在Value的部分區分成五種不同的資料結構,不僅結構中的儲存值形式不同,且對應的讀寫能力也不同,讀者應視不同的資料格式與不同的讀寫情境,採用適合的資料結構。
下表整理了主要的五種資料結構下,其基本的結構儲存值與讀寫能力,關於每個資料結構所對應的語法,可進一步參考COMMAND章節。
資料結構
結構儲存值
讀寫能力
字符串、整數、浮點數
對整個字符串或其中一部分進行操作;
對整數或浮點數進行自(increament)或自減(decrement)操作
包含鍵值對的無序散列表
添加、獲取、移除單個鍵值對;
鏈結串列(Linked List),每個節點包含了一個字符串,不同節點的字符串內容可重複。
從鏈表兩端推入或彈出元素;
根據偏移量進行修剪(trim);
讀取單個或多個元素;
根據值查找或移除元素
包含字符串的無序收集器(unordered collection),包含的每個字符串都是獨一無二且不重複的。
添加、獲取、移除單個元素;
檢查元素是否存在集合中;
計算交集、並集、差集;
從集合中隨機獲取元素
字符串成員(member)與浮點數分數(score)之間的有序映射,元素的排列順序由分數的大小決定
添加、獲取、移除單個元素;
根據分值範圍(range)或成員來或去元素