Redis操作数据结构-Hash

本文介绍了Redis中的Hash数据结构,它类似Java中的Map,可存储40多亿个键值对。通过hset、hget、hmset、hmget等命令进行操作,如添加、获取、批量操作及删除键值对。此外,还提供了HLEN、HINCRBY、HINCRBYFLOAT等命令来获取元素数量、进行数值递增等操作。

Redis操作数据结构-Hash

  1. Redis中的数据结构hash,它是String数据结构的升级版。类似于*java中的Map一样

    Map<String,Map<String,String>> hash = new HashMap<String,HashMap<String,String>>();
    
  2. 每个hash存储的大小,可以存储2的(32-1)次方个键值对(40多亿条)。

hset key field value [field value …] 给hash添加值 – map.put(key,value)
127.0.0.1:6379> hset course:100  title java
(integer) 1
HGET key field 获取hash中key对应的值 – map.get(key)
127.0.0.1:6379> hget course:100 title
"java"

HMSET key field1 value1 field2 value2 … 批量给hash添加值
127.0.0.1:6379> hmset course:100 title java price 12 detail veryverygood
OK
HMGET key field1 field2 … 批量获取hash中key对应的值
127.0.0.1:6379> hmget course:100 title price detail
1) "java"
2) "12"
3) "veryverygood
HKEYS key 获取hash所有的key
127.0.0.1:6379> hkeys course:100
1) "title"
2) "price"
3) "detail"

HVALS key 获取hash所有的value
127.0.0.1:6379> hvals course:100
1) "java"
2) "12"
3) "veryverygood"

HGETALL key 获取hash中所有的filed和value
127.0.0.1:6379> hgetall course:100
1) "title"
2) "java"
3) "price"
4) "12"
5) "detail"
6) "veryverygood"
127.0.0.1:6379> 

HLEN key 获取hash中元素的个数
127.0.0.1:6379> hlen course:100
(integer) 3
HINCRBY key field value 给hash中key对应的field的value递增
127.0.0.1:6379> hincrby course:100 price 1
(integer) 13
127.0.0.1:6379> hincrby course:100 price 1
(integer) 14
127.0.0.1:6379> hincrby course:100 price 1
(integer) 15

HINCRBYFLOAT key field value 给hash中key对应的field的value浮点递增
127.0.0.1:6379> hincrbyfloat course:100 price 1.2
"16.2"
127.0.0.1:6379> hincrbyfloat course:100 price 1.2
"17.4"
127.0.0.1:6379> hincrbyfloat course:100 price 1.2
"18.6"
HEXISTS key filed 判断hash中key对应的field存在与否
127.0.0.1:6379> HEXISTS course:100 price
(integer) 1
127.0.0.1:6379> HEXISTS course:100 address
(integer) 0

HDEL key field [field1,field2…] 删除hash中key对应的field元素
127.0.0.1:6379> hdel course:100 address title
(integer) 1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南宫拾壹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值