redis数据类型详细介绍

本文深入讲解Redis的五大数据类型:string、list、hash、set、sorted-set,涵盖基本操作及应用场景,如解决mysql数据库分表主键id不重复问题、购物车存储模型等。

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

redis有五大数据类型:string,list,hash,set,sorted-set

string类型的基本操作:

set name zs  // 添加/修改单个数据
get name //获取单个数据
del name // 删除单个数据

mset  name zs age 18 gender 男 // m --->multiple重复多个,可以添加/修改多个数据
mget name age gender // 获取多个数据
strlen  key // 获取数据的字符个数
append key value // 追加信息到原始信息尾部(原始信息存在就追加,不存在就新建)

拓展问题:redis可以解决mysql数据库分表主键id不重复问题。
解决方案:
incr key // 可以对字符串为数字进行增加
decr key // 可以对字符串为数字进行递减

incrby key incrment // 给一个整数增加指定的值
incrbyfloat key incrment // 可以添加小数值
decrby key incrment // 给一个整数减少指定的值

1.string类型在reids中默认就是个字符串,当遇到incr,decr时会转为数值进行计算
2.redis操作都是原子性的,都是单线程一个一个进行操作的,不用考虑并发问题
3.在按数值进行操作时,当原始数据不能转成数值,或者超出redis的数值范围时会出现报错。如:java数据类型long的最大值范围9223372036854775807

设置数据的指定生命周期:
setex key seconds value // 设置周期为秒
psetex key milliseconds value // 设置周期为毫秒

string高热度数据key的命名格式:表名:主键名:主键值:字段名  如:user:id:00789:fans

hash类型的操作:

单个数据操作:
hset key field value //添加修改数据
获取数据:
hget key field 
hgetall key // 获取所有key的值
删除数据:
hdel key field 

多个数据操作:
hmset key field1 value1 field2 value2……//添加或修改多个数据
hmget key field1 field2 ……// 获取多个数据
hlen key // 获取哈希表中字段的数量
hexists key field // 获取哈希表中是否存在指定字段

拓展操作:
hkeys key // 获取哈希表所有的字段名
hvals key // 获取哈希表所有的字段值

给指定字段数值的数据增加指定范围的值
hincrby key field increment 
hincrbyfloat key field increment 

使用场景:1.从购物车的存储模型看可以用hash来实现
hsetnx key field value // 可以判断是否有该数值,没有就添加
2.hash可以实现商品抢购

string与hash存储对象的区别:
string讲究的是整体性,要么成功要么失败,适合查询;hash具有field属性进行隔离,适合更新数据,是一个群组概念。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值