redis数据类型(hash的累加)

本文详细介绍了Redis中的五种数据类型,包括string、list、set、hash及sortset,并列举了每种类型支持的常用命令,方便读者快速了解并掌握Redis的基本使用。

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

ps:Redis HINCRBY命令用于增加存储在字段中存储由增量键哈希的数量。如果键不存在,新的key被哈希创建。如果字段不存在,值被设置为0之前进行操作。可以进行累加,既key名字相同,value相累加。

1.redis的5种数据类型: 
string 字符串(可以为整形、浮点型和字符串,统称为元素) 
list 列表(实现队列,元素不唯一,先入先出原则) 
set 集合(各不相同的元素) 
hash hash散列值(hash的key必须是唯一的) 
sort set 有序集合

2.string类型的常用命令: 
自加:incr 
自减:decr 
加: incrby 
减: decrby 
这里写图片描述 
3.list类型支持的常用命令: 
lpush:从左边推入 
lpop:从右边弹出 
rpush:从右变推入 
rpop:从右边弹出 
llen:查看某个list数据类型的长度 
这里写图片描述 
4.set类型支持的常用命令: 
sadd:添加数据 
scard:查看set数据中存在的元素个数 
sismember:判断set数据中是否存在某个元素 
srem:删除某个set数据中的元素 
这里写图片描述 
5.hash数据类型支持的常用命令: 
hset:添加hash数据 
hget:获取hash数据 
hmget:获取多个hash数据 
这里写图片描述 
6.sort set和hash很相似,也是映射形式的存储: 
zadd:添加 
zcard:查询 
zrange:数据排序 
这里写图片描述

### Redis Hash 数据结构详解 #### 方法概述 Redis 的 `Hash` 是一种键值对集合的数据结构,其中每个键关联着一个字符串类型的字段和值。可以将其视为一张哈希表或者字典对象。对于每一个给定的 Key 来说,其对应的 Value 可以是一个包含多个 Field 和 Value 对的对象。 支持的操作包括但不限于设置指定字段的值 (`HSET`)、获取特定字段的内容(`HGET`)、批量操作一组字段(`HMSET`, `HMGET`)等[^3]。 ```java // 设置hash中的field-value对 public void setField(String key, Map<String, Object> fields){ redisTemplate.opsForHash().putAll(key, fields); } // 获取单个field的value public Object getField(String key, String field){ return redisTemplate.opsForHash().get(key, field); } ``` #### 主要特点 - **高效存取**:由于内部实现了高效的查找算法,因此即使存在大量的记录也可以快速定位并读写数据。 - **节省内存空间**:当存储相同前缀的大量小字符串时相比独立保存这些字符串更省资源。 - **原子性更新**:允许针对某个具体条目执行增量调整命令如 `HINCRBY` 或者 `HINCRBYFLOAT` ,这使得它非常适合用来做计数器应用[^1]。 #### 应用场景实例 - 用户资料缓存:将用户的个人信息(例如姓名、年龄、性别)作为不同字段存入同一个 hash 中,便于统一管理和访问控制。 - 商品详情页加载优化:把商品描述里的各个属性项分别映射成 hash 下面的小域,从而减少网络传输量的同时提高响应速度。 - 统计分析平台上的指标累积计算:利用 `hincr()` 函数方便地完成各种业务逻辑下的数值累加任务,比如点赞次数统计或是订单金额汇总等功能模块的设计实现[^2].
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值