hset [key] [filed1] [value1] … [fieldn] [valuen]
将一个或多个field-value对设置到哈希表中,此命令会覆盖哈希表中已存在的字段,返回新创建的字段数量.
Redis 2.4 版本以前只能写入一个字段
1 | 127.0.0.1:6379> hset hset-key a 1 b 2 |
hsetnx [key] [field] [value]
为哈希表中不存在的字段赋值,字段如果已经存在则操作无效,操作成功返回1,失败返回0,如果key不存在,则会创建一个新哈希表.
每次只能操作一个字段
1 | 127.0.0.1:6379> hgetall hset-key |
hget [key] [field]
返回哈希表中某个字段的值,如果字段不存在,则返回nil
1 | 127.0.0.1:6379> hgetall hset-key |
hmset [key] [filed1] [value1] … [fieldn] [valuen]
将一个或多个field-value对设置到哈希表中,此命令会覆盖哈希表中已存在的字段,如果哈希表不存在则会创建一个空哈希表.如果执行成功,返回OK.
1 | 127.0.0.1:6379> hmset hmset-key a 1 b 2 c 4 d 4 e 5 |
hmget [key] [field1] [filed2] … [fieldn]
返回哈希表中一个或多个字段的值,如果字段不存在,则返回nil
1 | 127.0.0.1:6379> hmget hmset-key a b c d e |
hkeys [key]
获取哈希表中的所有字段,key不存在时返回一个空表
1 | 127.0.0.1:6379> hkeys hmset-key |
hvals [key]
获取哈希表中的所有值,key不存在时返回一个空表
1 | 127.0.0.1:6379> hgetall hset-key |
hexists [key] [field]
判断哈希表中是否有某个字段,存在返回1,不存在或者key为空返回0
1 | 127.0.0.1:6379> hkeys hmset-key |
hgetall [key]
获取哈希表中的所有字段和值,以列表形式返回结果,如果key不存在,返回空列表
1 | 127.0.0.1:6379> hgetall hmset-key |
hlen [key]
返回哈希表中字段的数量,key不存在时返回0
1 | 127.0.0.1:6379> hgetall hset-key |
hdel [key] [field1] [field2] … [fieldn]
删除哈希表中一个或多个字段,不存在的字段将会被忽略,返回成功删除的字段数量
1 | 127.0.0.1:6379> hgetall hset-key |
hincrby [key] [field] [increment]
为指定哈希表中的指定字段的值增加increment,返回增长后的值
increment 可以为负数
哈希表不存在时会先创建一个哈希表
字段不存在时会添加字段,值初始化为0
如果字段存储的值是字符串,将返回一个错误
本操作的值被限制在64位(bit)有符号数字表示之内
1 | 127.0.0.1:6379> hgetall hset-key |
hincrbyfloat [key] [field] [increment]
为指定哈希表中的指定字段的值增加increment,返回增长后的值
increment 是浮点数增量值,可以为负数
哈希表不存在时会先创建一个哈希表
字段不存在时会添加字段,值初始化为0
如果字段存储的值是字符串,将返回一个错误
本操作的值被限制在64位(bit)有符号数字表示之内
1 | 127.0.0.1:6379> hgetall hset-key |
hscan [key] [cursor] match [pattern] count [count]
迭代哈希表中的元素
此命令测试时,count参数无效,无论count参数是几,都会返回全部匹配的数据
1 | 127.0.0.1:6379> hgetall hset-key |
本文作者:Jormin
本文地址: https://blog.lerzen.com/redis命令-hash/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!