Redis 有別於其他鍵值(key-value)儲存的一個關鍵特點是它支援多種資料類型,包括字串(string)、列表(list)、集合(set)、有序集合(sorted set)和雜湊(hash)。這使開發人員更容易解決問題,因為他們通常知道每項工作應該使用哪種資料類型。本文將概述 Redis 支援的六種資料類型。
String
Redis 將字串儲存為位元組序列。Redis 中的字串是二進位制安全的,這意味著它們的長度是固定的,而不是由一個或多個特殊的終止字元決定。因此,一個字串可以儲存最大可達 512 MB 的資料。
在 Navicat for Redis 中,我們可以在主功能表中選擇「編輯」->「加入鍵」建立新的鍵值對。這將在資料檢視中加入一個新的空列並開啟編輯器:
我們可以使用編輯器設定以下資訊:
- 鍵名稱
- 鍵類型
- 值
- TTL(存活時間)
按一下「套用」按鈕會將「編輯器」表單的內容填入新列。它還顯示值的大小:
Hash
在 Redis 中,hash 是一个鍵值對的集合。因此,它們是表示物件和儲存計數器分組等的不錯選擇。每個 hash 可以儲存多達 2^32 - 1 個欄位-值對(超過 40 億個!)。
對於 hash 值,Navicat 編輯器有一個以「欄位」和「值」欄組成的表格:
List
Redis List 只是字串列表,以加入順序排序。你可以在列表頭部或列表尾部加入元素。列表的最大長度為 2^32 - 1,或 4294967295 個元素(每個列表可以有超過 40 億個元素!)。
在 Navicat 編輯器中,list 值表示為「元素」。按一下「元素」右邊的省略號 [...] 按鈕可以開啟一個特殊的編輯器,你可以在其中輸入完整的列表:
Set
Redis Set 是一個無序的字串集合。Set 類似於 list,不同之處在於 Set 不允許重複項目且不保留插入順序。
Set 也可以排序。在有序集合(Sorted Set)中,每個成員都與一個分數(score)關聯,以分數值從最小到最大的順序排列有序集合。儘管成員是唯一的,但分數卻可以重複。
Navicat 以與 List 一樣相同的方式處理 Set。以下是一個例子:
在「鍵類型」下拉式清單中,「zset」就是有序集合:
Stream
Redis stream 資料類型是在 Redis 5.0 中引進的。Stream 模擬了一個記錄資料結構,但也實作了幾個作業,以克服典型僅追加記錄的一些限制。
是的,Navicat for Redis 支援 Stream 資料類型!
關於 Redis 資料類型的結語
本文概述了 Redis 支援的六種資料類型,包括新的 Stream 類型。
有興趣嘗試 Navicat for Redis 嗎?你可以在這裡 下載功能完整的試用版,並試用 14 天。