當前位置:成語大全網 - 書法字典 - 後端開發應掌握的Redis基礎

後端開發應掌握的Redis基礎

在本文中,我們來談談Redis的數據結構和通用命令。

Redis支持多種不同的數據結構,包括五種基本數據結構和幾種更復雜的數據,可以滿足不同的應用場景。

五種基本數據結構

復數數據結構

不同數據結構的相似性

從上面的介紹我們可以看出,支持的數據結構是不壹樣的,但實際上Redis的每個數據結構都是由壹個鍵和壹個值組成的,可以抽象為:

Redis數據結構組成

所有數據結構的鍵值都是任意合法的字符串,不同數據結構的區別在於value存儲的值不同。

例如,最簡單的字符串數據結構的值為String,因此String可以表示為:

而hash數據結構,它的值是壹個Hash列表,所以Hash可以表示為:

這裏列出字符串和Hash來解釋,後面的文章會講到更多數據結構的內部結構和詳細操作。

Redis官網將Redis的命令按照功能分為15主題組,其中Kyes主題的命令是所有數據結構共有的。所以在理解其他數據結構命令之前,壹定要好好學習。

Keys命令用於列出Redis中的所有鍵。該命令的時間復雜度為O(N),N隨Redis中的密鑰數量增加而增加,所以Redis中的密鑰數量很大,keys命令的執行時間會很長。但是由於Redis是單線程的,壹個命令耗時太長,會導致後續所有請求都得不到響應。因此,不要在生產服務器上使用keys命令。

例子

存在

exists命令用於判斷是否存在壹個或多個鍵。判斷多個鍵時,鍵之間用空格隔開,exists的返回值是整數,表示當前存在多少個鍵。

例子

倒三角形

Del命令用於刪除壹個或多個鍵,鍵之間用空格隔開,它的返回值是壹個整數,表示已經成功刪除了多少個現有鍵。所以,如果只刪除了壹個鍵,可以從返回值判斷是否成功,如果刪除了多個鍵,只能得到刪除成功的次數。

例子

過期,pexpire

Expire設置密鑰過期的秒數,pexpire設置密鑰過期的毫秒數,如果成功則返回1,如果失敗則返回0。

例子

ttl,pttl

Ttl和pttl命令用於獲取key的過期時間,返回值為整數,代表幾種情況:

示例(類似於pttl的ttl演示)

expireat,pexpireat

將密鑰設置為在某個時間戳到期。Expire參數的時間戳以秒為單位表示,而pexpireat以毫秒為單位表示,這與Expire和pexpire的函數類似。返回1表示成功,0表示失敗。

例子

堅持

刪除密鑰的過期時間,並將密鑰設置為永久有效。當密鑰有過期時間時,使用persist命令刪除它並返回1。如果密鑰不存在或永久有效,則返回0。

例子

類型

確定數據結構key是什麽類型,返回值是string、list、set、hash和zset,分別代表我們前面介紹的Redis的五種基本數據結構。

例子

以上是Redis中最常用的通用命令。雖然簡單,但是要掌握它的用法和註意事項。其實對於普通開發者來說,大部分時候只是用這些基本的通用命令來操作Redis。