1.Redis Hmset 命令 - 同時將多個 field-value (域-值)對設(shè)置到哈希表 key 中。
簡介
如果哈希表不存在,會創(chuàng)建一個空哈希表,并執(zhí)行 HMSET 操作。此命令會覆蓋哈希表中已存在的字段。Redis Hmset 命令用于同時將多個 field-value (字段-值)對設(shè)置到哈希表中。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
可用版本: >= 2.0.0
返回值: 如果命令執(zhí)行成功,返回 OK 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo" field2 "bar"
OK
redis 127.0.0.1:6379> HGET myhash field1
"foo"
redis 127.0.0.1:6379> HMGET myhash field2
"bar"
2.Redis Hmget 命令 - 獲取所有給定字段的值
簡介
如果指定的字段不存在于哈希表,那么返回一個 nil 值。Redis Hmget 命令用于返回哈希表中,一個或多個給定字段的值。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HMGET KEY_NAME FIELD1...FIELDN
可用版本: >= 2.0.0
返回值: 一個包含多個給定字段關(guān)聯(lián)值的表,表值的排列順序和指定字段的請求順序一樣。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HMGET myhash field1 field2 nofield
1) "foo"
2) "bar"
3) (nil)
3.Redis Hset 命令 - 將哈希表 key 中的字段 field 的值設(shè)為 value 。
簡介
如果字段已經(jīng)存在于哈希表中,舊值將被覆蓋。如果哈希表不存在,一個新的哈希表被創(chuàng)建并進行 HSET 操作。Redis Hset 命令用于為哈希表中的字段賦值 。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HSET KEY_NAME FIELD VALUE
可用版本: >= 2.0.0
返回值: 如果字段是哈希表中的一個新建字段,并且值設(shè)置成功,返回 1 。 如果哈希表中域字段已經(jīng)存在且舊值已被新值覆蓋,返回 0 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
OK
redis 127.0.0.1:6379> HGET myhash field1
"foo"
redis 127.0.0.1:6379> HSET website google "www.g.cn" # 設(shè)置一個新域
(integer) 1
redis 127.0.0.1:6379>HSET website google "www.google.com" # 覆蓋一個舊域
(integer) 0
4.Redis Hgetall 命令 - 獲取在哈希表中指定 key 的所有字段和值
簡介
在返回值里,緊跟每個字段名(field name)之后是字段的值(value),所以返回值的長度是哈希表大小的兩倍。Redis Hgetall 命令用于返回哈希表中,所有的字段和值。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HGETALL KEY_NAME
可用版本: >= 2.0.0
返回值: 以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HGETALL myhash
1) "field1"
2) "Hello"
3) "field2"
4) "World"
5.Redis Hget 命令 - 獲取存儲在哈希表中指定字段的值/td>
簡介
Redis Hget 命令用于返回哈希表中指定字段的值。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HGET KEY_NAME FIELD_NAME
可用版本: >= 2.0.0
返回值: 返回給定字段的值。如果給定的字段或 key 不存在時,返回 nil 。
示例
# 字段存在
redis> HSET site redis redis.com
(integer) 1
redis> HGET site redis
"redis.com"
# 字段不存在
redis> HGET site mysql
(nil)
6.Redis Hexists 命令 - 查看哈希表 key 中,指定的字段是否存在。
簡介
Redis Hexists 命令用于查看哈希表的指定字段是否存在。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HEXISTS KEY_NAME FIELD_NAME
可用版本: >= 2.0.0
返回值: 如果哈希表含有給定字段,返回 1 。 如果哈希表不含有給定字段,或 key 不存在,返回 0 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HEXISTS myhash field1
(integer) 1
redis 127.0.0.1:6379> HEXISTS myhash field2
(integer) 0
7.Redis Hincrby 命令 - 為哈希表 key 中的指定字段的整數(shù)值加上增量 increment 。
簡介
本操作的值被限制在 64 位(bit)有符號數(shù)字表示之內(nèi)。對一個儲存字符串值的字段執(zhí)行 HINCRBY 命令將造成一個錯誤。如果指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 。如果哈希表的 key 不存在,一個新的哈希表被創(chuàng)建并執(zhí)行 HINCRBY 命令。增量也可以為負數(shù),相當于對指定字段進行減法操作。Redis Hincrby 命令用于為哈希表中的字段值加上指定增量值。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER
可用版本: >= 2.0.0
返回值: 執(zhí)行 HINCRBY 命令之后,哈希表中字段的值。
示例
redis 127.0.0.1:6379> HSET myhash field1 20
(integer) 1
redis 127.0.0.1:6379> HINCRBY myhash field 1
(integer) 21
redis 127.0.0.1:6379> HINCRBY myhash field -1
(integer) 20
8.Redis Hlen 命令 - 獲取哈希表中字段的數(shù)量
簡介
Redis Hlen 命令用于獲取哈希表中字段的數(shù)量。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HLEN KEY_NAME
可用版本: >= 2.0.0
返回值: 哈希表中字段的數(shù)量。 當 key 不存在時,返回 0 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HLEN myhash
(integer) 2
9.Redis Hdel 命令 - 刪除一個或多個哈希表字段
簡介
Redis Hdel 命令用于刪除哈希表 key 中的一個或多個指定字段,不存在的字段將被忽略。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HDEL KEY_NAME FIELD1.. FIELDN
可用版本: >= 2.0.0
返回值: 被成功刪除字段的數(shù)量,不包括被忽略的字段。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HDEL myhash field1
(integer) 1
redis 127.0.0.1:6379> HDEL myhash field2
(integer) 0
10.Redis Hvals 命令 - 獲取哈希表中所有值
簡介
Redis Hvals 命令返回哈希表所有字段的值。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HVALS KEY_NAME FIELD VALUE
可用版本: >= 2.0.0
返回值: 一個包含哈希表中所有值的表。 當 key 不存在時,返回一個空表。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HVALS myhash
1) "foo"
2) "bar"
# 空哈希表/不存在的key
redis 127.0.0.1:6379> EXISTS not_exists
(integer) 0
redis 127.0.0.1:6379> HVALS not_exists
(empty list or set)
11.Redis Hincrbyfloat 命令 - 為哈希表 key 中的指定字段的浮點數(shù)值加上增量 increment 。
簡介
如果指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 。Redis Hincrbyfloat 命令用于為哈希表中的字段值加上指定浮點數(shù)增量值。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HINCRBYFLOAT KEY_NAME FIELD_NAME INCR_BY_NUMBER
可用版本: >= 2.6.0
返回值: 執(zhí)行 Hincrbyfloat 命令之后,哈希表中字段的值。
示例
redis 127.0.0.1:6379> HSET myhash field 20.50
(integer) 1
redis 127.0.0.1:6379> HINCRBYFLOAT mykey field 0.1
"20.60"
12.Redis Hkeys 命令 - 獲取所有哈希表中的字段
簡介
Redis Hkeys 命令用于獲取哈希表中的所有字段名。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HKEYS KEY_NAME FIELD_NAME INCR_BY_NUMBER
可用版本: >= 2.0.0
返回值: 包含哈希表中所有字段的列表。 當 key 不存在時,返回一個空列表。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HKEYS myhash
1) "field1"
2) "field2"
13.Redis Hsetnx 命令 - 只有在字段 field 不存在時,設(shè)置哈希表字段的值。
簡介
如果 key 不存在,一個新哈希表被創(chuàng)建并執(zhí)行 HSETNX 命令。如果字段已經(jīng)存在于哈希表中,操作無效。如果哈希表不存在,一個新的哈希表被創(chuàng)建并進行 HSET 操作。Redis Hsetnx 命令用于為哈希表中不存在的的字段賦值 。Redis 哈希(Hash)
語法
redis 127.0.0.1:6379> HSETNX KEY_NAME FIELD VALUE
可用版本: >= 2.0.0
返回值: 設(shè)置成功,返回 1 。 如果給定字段已經(jīng)存在且沒有操作被執(zhí)行,返回 0 。
示例
redis 127.0.0.1:6379> HSETNX myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSETNX myhash field1 "bar"
(integer) 0
redis 127.0.0.1:6379> HGET myhash field1
"foo"
redis 127.0.0.1:6379> HSETNX nosql key-value-store redis
(integer) 1
redis 127.0.0.1:6379> HSETNX nosql key-value-store redis # 操作無效, key-value-store 已存在
(integer) 0
總結(jié)
文章來源:http://www.zghlxwxcb.cn/news/detail-827172.html
往期回顧
Redis命令—String篇 (超全)
Redis命令—key篇 (超全)
文章來源地址http://www.zghlxwxcb.cn/news/detail-827172.html
到了這里,關(guān)于Redis命令---Hash(哈希)篇 (超全)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!