redis hash类型命令

备注:测试版本 redis 4.0.9

哈希(Hash)类型命令

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。

命令概述
HDEL key field2 [field2]删除一个或多个哈希表字段
HEXISTS key field查看哈希表 key 中,指定的字段是否存在
HGET key field获取存储在哈希表中指定字段的值
HGETALL key获取在哈希表中指定 key 的所有字段和值
HINCRBY key field increment为哈希表 key 中的指定字段的整数值加上增量 increment
HINCRBYFLOAT key field increment为哈希表 key 中的指定字段的浮点数值加上增量 increment
HKEYS key获取所有哈希表中的字段
HLEN key获取哈希表中字段的数量
HMGET key field1 [field2]获取所有给定字段的值
HMSET key field1 value1 [field2 value2 ]同时将多个 field-value (域-值)对设置到哈希表 key 中。
HSET key field value将哈希表 key 中的字段 field 的值设为 value
HSETNX key field value只有在字段 field 不存在时,设置哈希表字段的值
HVALS key获取哈希表中所有值
HSCAN key cursor [MATCH pattern] [COUNT count]迭代哈希表中的键值对

1.1 Hdel 命令

语法:

HDEL key field2 [field2] 删除一个或多个哈希表字段

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> HDEL user:1 sex
(integer) 1
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
127.0.0.1:6379> 

1.2 Hexists 命令

语法:

HEXISTS key field 查看哈希表 key 中,指定的字段是否存在。

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> 
127.0.0.1:6379> hexists user:1 username
(integer) 1
127.0.0.1:6379> hexists user:1 user_name
(integer) 0
127.0.0.1:6379> 

1.3 Hget 命令

语法:

HGET key field 获取存储在哈希表中指定字段的值/td>

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> hget user:1 username
"mysql"

1.4 Hgetall 命令

语法:

HGETALL key 获取在哈希表中指定 key 的所有字段和值

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"

1.5 Hincrby 命令

语法:

HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment 

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> Hincrby user:1 age 1
(integer) 31
127.0.0.1:6379> Hincrby user:1 age -1
(integer) 30

1.6 Hincrbyfloat 命令

语法:

HINCRBYFLOAT key field increment 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> hincrbyfloat user:1 age 0.1
"30.1"
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30.1"
7) "sex"
8) "boy"

1.7 Hkeys 命令

语法:

HKEYS key 获取所有哈希表中的字段

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> hkeys user:1
1) "username"
2) "password"
3) "age"
4) "sex"
127.0.0.1:6379> 

1.8 Hlen 命令

语法:

HLEN key 获取哈希表中字段的数量

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> hlen user:1
(integer) 4
127.0.0.1:6379> 

1.9 Hmget 命令

语法:

HMGET key field1 [field2] 获取所有给定字段的值

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"
127.0.0.1:6379> hmget user:1 username password sex
1) "mysql"
2) "www.mysql.com"
3) "boy"
127.0.0.1:6379> 

1.10 Hmset 命令

语法:

HMSET key field1 value1 [field2 value2 ] 同时将多个 field-value (域-值)对设置到哈希表 key 中。

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "age"
6) "30"
7) "sex"
8) "boy"

1.11 Hset 命令

语法:

HSET key field value 将哈希表 key 中的字段 field 的值设为 value 。

测试记录

127.0.0.1:6379> hset user:2 username oracle
(integer) 1
127.0.0.1:6379> hget user:2 username
"oracle"
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379> hset user:2 password www.oracle.com
(integer) 1
127.0.0.1:6379> 
127.0.0.1:6379> hgetall user:2
1) "username"
2) "oracle"
3) "password"
4) "www.oracle.com"
127.0.0.1:6379> 

1.12 Hsetnx 命令

语法:

HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值。

测试记录

127.0.0.1:6379> hsetnx user:2 age 30
(integer) 1
127.0.0.1:6379> hgetall user:2
1) "username"
2) "oracle"
3) "password"
4) "www.oracle.com"
5) "age"
6) "30"
127.0.0.1:6379> hsetnx user:2 age 10
(integer) 0
127.0.0.1:6379> hgetall user:2
1) "username"
2) "oracle"
3) "password"
4) "www.oracle.com"
5) "age"
6) "30"

1.13 Hvals 命令

语法:

HVALS key 获取哈希表中所有值

测试记录

127.0.0.1:6379> hmset user:1 username mysql password www.mysql.com sex boy age 30
OK
127.0.0.1:6379> hgetall user:1
1) "username"
2) "mysql"
3) "password"
4) "www.mysql.com"
5) "sex"
6) "boy"
7) "age"
8) "30"
127.0.0.1:6379> 
127.0.0.1:6379> hvals user:1
1) "mysql"
2) "www.mysql.com"
3) "boy"
4) "30"
127.0.0.1:6379> 

参考

1.https://www.redis.net.cn/tutorial/3505.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值