日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一. 背景說明

小白:偉哥,JAVA中的Map集合類型在redis中有對應的存儲嗎?

偉哥:有的,我帶你擼一波。

二、概述

Redis的hash哈希存儲類型,類似于是java中的map存儲結構,適合用來存儲對象,每個哈希最多可以存儲4294967295(2^32-1)個字段值對,具體數量實際上也受Redis部署的虛擬機上的總內存的限制。

理解了它的數據結構后,接下來偉哥帶你開啟命令操作之旅。

三、hset、hget

hset、hget主要用來設置和獲取單條數據,格式說明如下:

#貼心測試如下:
 #設置值  hset key field value
192.168.65.15:6379> hset u1 name zs 
(integer) 1   

#獲取值 hget key field
192.168.65.15:6379> hget u1 name  
"zs"

#獲取值:如果key不存返回nil
192.168.65.15:6379> hget u2 name  
(nil)

#獲取值:如果field不存返回nil
192.168.65.15:6379> hget u1 name1  
(nil)

四、hmset、hmget

上述一條一條地增加數據有點繁瑣,為此,Redis準備了多條數據的操作,格式如下:

#貼心測試如下:
#批量設置值
192.168.65.15:6379> hmset u1 name zs age 22 sex boy  
OK

#批量獲取值,按field順序顯示
192.168.65.15:6379> hmget u1 name age sex   
1) "zs"
2) "22"
3) "boy"

#如果key不存在,則返回nil
192.168.65.15:6379> hmget u2 name  
1) (nil)

#如果field不存在,則返回nil
192.168.65.15:6379> hmget u1 name name1  
1) "zs"
2) (nil)

五、hincrby、hsetnx

如果value是數值類型,我們可以用hincrby來增加大小;在添加時如果key-field不存在,才實現添加,可以用hsetnx命令。具體格式如下:

#貼心測試如下:
#查看age原來的值
192.168.65.15:6379> hget u1 age  
"22"

#hincrby給age增加5
192.168.65.15:6379> hincrby u1 age 5  
(integer) 27

#查看增加后的結果22+5=27
192.168.65.15:6379> hget u1 age  
"27"

#hsetnx設置如果field存在,則不添加 
192.168.65.15:6379> hsetnx  u1 age 22  
(integer) 0

#查看age還是27,沒有變化
192.168.65.15:6379> hget u1 age  
"27"

#hsetnx設置如果field不存在,添加 
192.168.65.15:6379> hsetnx u1 age1 22 
(integer) 1

#查看age1是22
192.168.65.15:6379> hget u1 age1   
"22"

六、hexists、hgetall、hkeys、hvals、hlen

在查詢時,有時我們需要知道key是否存在?存在的話有多少個field?如何顯示所有的內容?如何顯示所有的field或者value?為解決這些問題,偉哥幫你收集以下命令來解決:

#貼心測試如下:
#檢查field是否存在
192.168.65.15:6379> hexists u1 age  
(integer) 1

#如果key不存在,返回0
192.168.65.15:6379> hexists u2 age  
(integer) 0

#如果field不存在,返回0
192.168.65.15:6379> hexists u1 age2  
(integer) 0

#獲取u1結構中的全部field和value
192.168.65.15:6379> hgetall u1 
1) "name"
2) "zs"
3) "age"
4) "27"
5) "sex"
6) "boy"
7) "age1"
8) "22"

#獲取u1結構中的全部field
192.168.65.15:6379> hkeys u1 
1) "name"
2) "age"
3) "sex"
4) "age1"

#獲取u1結構中的全部value
192.168.65.15:6379> hvals u1 
1) "zs"
2) "27"
3) "boy"
4) "22"

#獲取u1結構中field的數量
192.168.65.15:6379> hlen u1 
(integer) 4

七、hdel

我們一般用的刪除單詞是remove 和delete,這里刪除用的是hdel,h表示hashes,del表示delete,具體如下:

#貼心測試如下:
#查看u1的數據
192.168.65.15:6379> hgetall u1  
1) "name"
2) "zs"
3) "age"
4) "27"
5) "sex"
6) "boy"
7) "age1"
8) "22"

#刪除u1中 age1和 sex的數據
192.168.65.15:6379> hdel u1 age1 sex  
(integer) 2

#查看刪除結果
192.168.65.15:6379> hgetall u1  
1) "name"
2) "zs"
3) "age"
4) "27"

關于Redis常用類型之Hash哈希存儲類型就分享到這里了,你都理解了嗎?有疑問可以留言討論喲!

分享到:
標簽:Hash
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定