Redis常用命令之操作Hash類型


場景

Centos中Redis的下載編譯與安裝(超詳細):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334

Redis的啟動和關閉(前台啟動和后台啟動):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348

RedisDesktopManager客戶端可視化工具下載安裝與使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147

Redis常用命令之操作String類型:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103991107

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

Hash類型是String類型的field和value的映射表,或者說是一個String集合。

它特別適合存儲對象,相比較而言,將一個對象類型存儲在Hash類型比要存儲在String類型里占用更少的內存空間,

並方便整個對象的存取。

后台模式啟動Redis服務端,並建立客戶端連接。

HSET/HGET命令

語法

HSET key field value

將哈希表 key 中的域 field 的值設為 value 。

如果 key 不存在,一個新的哈希表被創建並進行 HSET 操作。

如果域 field 已經存在於哈希表中,舊值將被覆蓋。

HGET key field

返回哈希表 key 中給定域 field 的值。

舉例

使用hset給person 設置id為1 name 為badao

 

 

此時可以打開可視化客戶端查看

 

 

然后使用hget獲取

 

 

HMSET/HMGET命令

語法

HMSET key field value [field value ...]

同時將多個 field-value (域-值)對設置到哈希表 key 中。

此命令會覆蓋哈希表中已存在的域。

如果 key 不存在,一個空哈希表被創建並執行 HMSET 操作。

 

HMGET key field [field ...]

返回哈希表 key 中,一個或多個給定域的值。

如果給定的域不存在於哈希表,那么返回一個 nil 值。

因為不存在的 key 被當作一個空哈希表來處理,所以對一個不存在的 key 進行 HMGET 操作將返回一個只帶有 nil 值的表。

 

舉例

 

 

可以使用可視化客戶端查看此時

 

 

如果要對hmset設置時間

 

 

HINCRBY命令

語法

HINCRBY key field increment

為哈希表 key 中的域 field 的值加上增量 increment 。

增量也可以為負數,相當於對給定域進行減法操作。

如果 key 不存在,一個新的哈希表被創建並執行 HINCRBY 命令。

如果域 field 不存在,那么在執行命令前,域的值被初始化為 0 。

對一個儲存字符串值的域 field 執行 HINCRBY 命令將造成一個錯誤。

本操作的值被限制在 64 位(bit)有符號數字表示之內。

示例

 

 

HEXISTS命令

語法

HEXISTS key field

查看哈希表 key 中,給定域 field 是否存在。

可用版本:
>= 2.0.0
時間復雜度:
O(1)
返回值:
如果哈希表含有給定域,返回 1 。
如果哈希表不含有給定域,或 key 不存在,返回 0 。

舉例

 

 

HDEL命令

語法

HDEL key field [field ...]

刪除哈希表 key 中的一個或多個指定域,不存在的域將被忽略。

舉例

 

 

HLEN命令/HKEYS命令/HVALS命令

語法

HLEN key

返回哈希表 key 中域的數量。

 

HKEYS key

返回哈希表 key 中的所有域。

 

HVALS key

返回哈希表 key 中所有域的值。

舉例

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM