Redis 是一個鍵值儲存系統,可以讓我們將值與鍵關聯起來。與關聯式資料庫不同,它不能使用資料調處語言(Data Manipulation Language,DML)和查詢語法。那麼我們如何在 Redis 中寫入、讀取、更新和刪除資料呢?本教學將介紹如何使用 redis-cli 以及 Navicat for Redis 寫入、讀取、更新和刪除鍵。
讀取資料
我們可以使用 GET 命令從 Redis 傳回一個鍵的字串值:
GET key
以下範例示範如何在 Navicat for Redis 中擷取「auth service」鍵的值:
正如預期的那樣,它傳回了此鍵的值「auth0」:
然而,如果我們嘗試擷取「indiana_jones_episodes」鍵的值,就會出現錯誤「WRONGTYPE Operation against a key holding the wrong kind of value」。這是因為它的值是一個有序集合(zset)。由於 Redis 支援 6 種資料類型,你需要知道鍵是哪種資料類型,因為不同的資料類型,擷取鍵的命令都不同。
以下是擷取鍵值的命令:
- 如果值的類型是字串(string) -> GET
<key>
- 如果值的類型是雜湊(hash) -> HGET or HMGET or HGETALL
<key>
- 如果值的類型是列表(list) -> lrange
<key> <start> <end>
- 如果值的類型是集合(set) -> smembers
<key>
- 如果值的類型是有序集合(sorted set) -> ZRANGEBYSCORE
<key> <min> <max>
- 如果值的類型是串流(stream) -> xread count
<count>
streams<key>
<ID>
.
因此,如下圖所示,要擷取「indiana_jones_episodes」鍵的值,我們需要使用 ZRANGEBYSCORE 命令以及指定 min 和 max 參數的值:
這傳回有序集合的前三個值。
寫入和更新資料
在 Redis 中,SET key Value
命令可用於設定初始值和更新值。
當然,在 Navicat 中,可以使用編輯器隨時修改鍵和值:
刪除資料
在 Redis 中,我們可以使用 DEL 命令刪除一個鍵及其所有關聯的值。其的語法是:
DEL key
例如,以下命令將刪除「auth service」鍵:
DEL "auth service"
請注意,Redis 不會要求你確認是否進行刪除操作!
在 Navicat 中,我們可以在表格中選取一個鍵,然後按一下「刪除 [-]」按鈕來刪除鍵。Navicat 會在刪除之前彈出對話方塊,要求確認是否進行刪除操作,以防我們不小心按了刪除按鈕而錯誤刪除資料!
總結
我們在本教學中學習了如何使用 redis-cli 以及 Navicat for Redis 寫入、讀取、更新和刪除鍵。下一篇文章,我們將學習更多處理資料的 redis-cli 命令,以及學習如何使用 Navicat 完成相同的操作。
如果你想試用 Navicat for Redis,可以 在此 下載試用版。試用版具備完整功能,試用期為 14 天。