Navicat Blog

在 Redis 中處理鍵 2023 年 8 月 7 日,由 Robert Gravelle 撰寫

Redis 是一個鍵值儲存系統,可以讓我們將值與鍵關聯起來。與關聯式資料庫不同,它不能使用資料調處語言(Data Manipulation Language,DML)和查詢語法。那麼我們如何在 Redis 中寫入、讀取、更新和刪除資料呢?本教學將介紹如何使用 redis-cli 以及 Navicat for Redis 寫入、讀取、更新和刪除鍵。

讀取資料

我們可以使用 GET 命令從 Redis 傳回一個鍵的字串值:

GET key

以下範例示範如何在 Navicat for Redis 中擷取「auth service」鍵的值:

auth_service (48K)

正如預期的那樣,它傳回了此鍵的值「auth0」:

GET_command (16K)

然而,如果我們嘗試擷取「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 參數的值:

ZRANGEBYSCORE_example (26K)

這傳回有序集合的前三個值。

寫入和更新資料

在 Redis 中,SET key Value 命令可用於設定初始值和更新值。

當然,在 Navicat 中,可以使用編輯器隨時修改鍵和值:

update_example (54K)

刪除資料

在 Redis 中,我們可以使用 DEL 命令刪除一個鍵及其所有關聯的值。其的語法是:

DEL key

例如,以下命令將刪除「auth service」鍵:

DEL "auth service"

請注意,Redis 不會要求你確認是否進行刪除操作!

在 Navicat 中,我們可以在表格中選取一個鍵,然後按一下「刪除 [-]」按鈕來刪除鍵。Navicat 會在刪除之前彈出對話方塊,要求確認是否進行刪除操作,以防我們不小心按了刪除按鈕而錯誤刪除資料!

delete_button (60K)

總結

我們在本教學中學習了如何使用 redis-cli 以及 Navicat for Redis 寫入、讀取、更新和刪除鍵。下一篇文章,我們將學習更多處理資料的 redis-cli 命令,以及學習如何使用 Navicat 完成相同的操作。

如果你想試用 Navicat for Redis,可以 在此 下載試用版。試用版具備完整功能,試用期為 14 天。

Navicat Blogs
Feed Entries
Blog Archives
Share