Redis学习之旅 Hash篇

Redis Hash结构适合保存对象,避免过大导致的问题。从2.0版本引入,3.2后无重大更新。关键点包括命令学习,尤其是2.0至3.0的变化,以及避免使用`keys`命令,推荐使用`scan`来遍历键,以减少阻塞并处理可能的重复键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis学习之旅 Hash篇

Hash结构就是在redis本身 的K-V结构基本上,又提供了一个K-V结构,通常用来保存对象结构比较合适,但是不宜将对象结构弄的过大

命令学习

redis-cli模式下键入 help @hash就可以快速相关的命令集合
hash是从2.0开始加入到redis中的,因此从2.0开始总结

2.0时代/3.0时代

hash命令自2.0加入后,在3.2版本新增了一个命令后,就没再更新过,因此合并汇总

命令起始版本作用示例
HDEL2.0.0删除某些key下的KVHDEL key field [field …]
HEXISTS2.0.0判断hashKey是否存在HEXISTS key field
HGET2.0.0get HashKey对应的ValueHGET key field
HGETALL2.0.0获取整个key下的所有K-VHGETALL key
HINCRBY2.0.0HashKey对应的Value自增某个数HINCRBY key field increment
HINCRBYFLOAT2.6.0HashKey对应的Value自增某个浮点数HINCRBYFLOAT key field increment
HKEYS2.0.0获取所有的KeyHKEYS key
HLEN2.0.0获取键下的K的个数HLEN key
HMGET2.0.0批量获取一组值HMGET key field [field …]
HSCAN2.8.0查找键是否存在HSCAN key cursor [MATCH pattern] [COUNT count]
HSET2.0.0写入一组KVHSET key field value [field value …]
HSETNX2.0.0不存在才写入KVHSETNX key field value
HSTRLEN3.2.0获取对应Value的长度,同StringHSTRLEN key field
HVALS2.0.0获取一组值的集合HVALS key

关注点

Keys Scan

  • 这里的操作都不复杂,逻辑同string非常相近,只是在它的key的基础上,每一个元素又是一个KV对象 ,拥有自己的小Key,因此想具体定位一个元素,需要两个key
  • 重点需要注意keys会引起redis阻塞,强烈不建议在线上调用,通常都是建议使用scan类的命令去查找键,负作用就是可能会得到重复的key,需要自己做下去重
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值