日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)

發布時間:2023/11/28 生活经验 25 豆豆

Redis 的字典是無序字典。Redis 的字典的值只能是字符串,當 hash 移除了最后一個元素之后,該數據結構自動被刪除,內存被回收。

hash 結構也可以用來存儲用戶信息,不同于字符串一次性需要全部序列化整個對象,hash 可以對用戶結構中的每個字段單獨存儲。這樣當我們需要獲取用戶信息時可以進行部分獲取。而以整個字符串的形式去保存用戶信息的話就只能一次性全部讀取,這樣就會比較浪費網絡流量。

hash 也有缺點,hash 結構的存儲消耗要高于單個字符串,到底該使用 hash 還是字符串,需要根據實際情況再三權衡。

1. hash 類型相關命令

命令說明
hset key field value設置hash里面一個字段的值
hget key field獲取hash中field的值
hexists key field判斷field是否存在hash中
hgetall key從hash中讀取全部的域和值
hkeys key獲取hash 中所有field
hvals key獲取hash的所有值
hlen key獲取hash中所有字段的數量
hdel key field[field…]刪除一個或多個hash的field
hmget key field[field…]獲取hash里面指定字段的值
hmset key field[field…]設置hash字段值
hsetnx key field value設置hash的一個字段,只有這個字段不存在是有效
hstrlen key field獲取hash里面指定field的長度(Redis 版本>= 3.2.0)
hscan key cursor迭代hash里面的元素
hincrby key field increment將hash中指定域的值增加給定的值
hincrbyfloat key field increment將hash中指定域的值增加給定的浮點數

2. 使用示例

127.0.0.1:6379> hset student name "jack"
(integer) 1
127.0.0.1:6379> hget student name
"jack"
127.0.0.1:6379> hexists student name
(integer) 1
127.0.0.1:6379> hexists student gender
(integer) 0
127.0.0.1:6379> hset student gender "male"
(integer) 1
127.0.0.1:6379> hgetall student
1) "name"
2) "jack"
3) "gender"
4) "male"
127.0.0.1:6379> hkeys student
1) "name"
2) "gender"
127.0.0.1:6379> hvalues student
(error) ERR unknown command 'hvalues'
127.0.0.1:6379> hvals student
1) "jack"
2) "male"
127.0.0.1:6379> hlen student
(integer) 2
127.0.0.1:6379> hmget student name gender
1) "jack"
2) "male"
127.0.0.1:6379> hmset student grade 90 country "USA"
OK
127.0.0.1:6379> hmget student name grade gender country
1) "jack"
2) "90"
3) "male"
4) "USA"
127.0.0.1:6379> hdel student country
(integer) 1
127.0.0.1:6379> hgetall student
1) "name"
2) "jack"
3) "gender"
4) "male"
5) "grade"
6) "90"
127.0.0.1:6379>
127.0.0.1:6379> hmset student grade 90 country "USA"
OK
127.0.0.1:6379> hgetall
(error) ERR wrong number of arguments for 'hgetall' command
127.0.0.1:6379> hgetall student
1) "grade"
2) "90"
3) "country"
4) "USA"
127.0.0.1:6379> hstrlen student grade
(integer) 2
127.0.0.1:6379> hstrlen student country
(integer) 3
127.0.0.1:6379>
127.0.0.1:6379> hgetall student
1) "grade"
2) "90"
3) "country"
4) "USA"
127.0.0.1:6379> hincrby student grade 5
(integer) 95
127.0.0.1:6379> hgetall student
1) "grade"
2) "95"
3) "country"
4) "USA"
127.0.0.1:6379>

總結

以上是生活随笔為你收集整理的Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。