網站首頁 編程語言 正文
Redis數據類型Hash常用操作
redis里的hash是一個string類型的field(字段)和value(值)的映射表。特別適合用于存儲對象,每個hash可以存儲40多億鍵值對。
熟悉python的童鞋可以想象成字典dict。之前的數據類型存儲都是k-v這樣,而hash的存儲就是k-dict
,dict
里又會有屬于自己的k-v
。
一、hset
為哈希表中的字段賦值,如果哈希表不存在,創建一個新的哈希表被并進行hset操作。
如果字段已經存在于哈希表中,舊值將被覆蓋。
hset myhash k1 v1
二、hget
返回哈希表中指定字段的值,如果給定的字段或 key 不存在時,返回 nil。
hget myhash k1
三、hmset
同時將多個 field-value 對設置到哈希表中。
hmset myhash k2 v2 k3 v3
如果哈希表中已存在的字段,則覆蓋。
如果哈希表不存在,會創建一個空哈希表,并執行hset操作。
四、hmget
返回哈希表中,一個或多個給定字段的值。
hmget myhash k1 k2 k3 k4
如果指定的字段不存在于哈希表,那么返回一個nil值。
五、hgetall
返回哈希表中,所有的字段和值。
hgetall myhash
注意,在返回值里,緊跟每個字段名(field name)之后是字段的值(value),所以返回值的長度是哈希表大小的兩倍。
六、hdel
刪除哈希表 key 中的一個或多個指定字段,不存在的字段將被忽略。
hdel myhash k2 k3 k5
返回的是被成功刪除字段的數量,不包括被忽略的字段。
七、hlen
獲取哈希表中字段的數量。
hlen myhash
八、hexists
查看哈希表的指定字段是否存在。
hexists myhash k1
如果哈希表含有給定字段,返回 1。
如果哈希表不含有給定字段,或 key 不存在,返回 0 。
九、hkeys
獲取哈希表中的所有字段(field)。
hkeys myhash
包含哈希表中所有字段(field)列表。 當 key 不存在時,返回一個空列表。
十、hvals
返回哈希表所有字段(field)的值。
hvals myhash
返回一個包含哈希表中所有字段(field)值的列表。 當 key 不存在時,返回一個空表。
十一、hincrby
為哈希表中的字段值加上指定增量值,這個增量也可以是負數,相當于減法。
若哈希表的 key 不存在,創建一個新的哈希表被并執行hincrby
命令。
若指定的字段不存在,那么在執行命令前,字段的值被初始化為 0 。
若對儲存字符串值的字段執行,會報錯。
十二、hsetnx
為哈希表中不存在的的字段賦值。
若哈希表不存在,創建新的哈希表并進行 hset 操作。
如果字段已經存在于哈希表中,操作無效。
如果key不存在,創建新哈希表并執行hsetnx
命令。
關于redis中hash的應用,比如保存用戶信息數據、經常變動的信息,如果不想使用傳統的k-v對象去存儲,可以用redis的hash。
原文鏈接:https://blog.csdn.net/wessonlan/article/details/124813037
相關推薦
- 2022-06-02 CKAD認證中部署k8s并配置Calico插件_云和虛擬化
- 2022-09-18 C#?中的partial?關鍵字詳解_C#教程
- 2022-10-23 C#優雅的實現INotifyPropertyChanged接口_C#教程
- 2022-09-18 C#面向對象編程中依賴反轉原則的示例詳解_C#教程
- 2023-01-02 Python利用socket實現多進程的端口掃描器_python
- 2021-11-03 linux下shell常用腳本命令及有關知識_Linux
- 2022-10-05 ASP.NET?Core在Task中使用IServiceProvider的問題解析_實用技巧
- 2021-12-06 <a>標簽,跨域download屬性不生效問題,100%好用
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支