深挖Redis的五种数据类型(附带应用场景)

本文深入探讨Redis中的五种数据类型:String、Hash、List、Set和Sorted_Set。String类型适合商品秒杀、微博点赞等场景,利用位图进行高效存储;Hash适用于点赞、收藏等操作;List用于实现队列和栈功能;Set支持抽奖等概率事件;Sorted_Set通过分值排序,适用于排行榜等需求。了解这些类型的应用场景能帮助我们更好地利用Redis。

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

前言

介绍Redis中最常用的五种数据类型:String,Hash,List,Set,Sorted_Set


一,String

Redis的String类型是按字节流进行存储,是二进制安全的。
为什么Redis不用字符流进行存储?
对于不同编程语言字符类型,整型,浮点等。所占字节数可能都不一样,使用二进制存储的好处就是不需要担心各种类型在不同场景中代表的字节数是不同,Redis作为一个中间件需要保证存储安全。通讯双方只需要制定相同的字符集进行编码和解码就能保证数据的一致性
Encoding的概念

127.0.0.1:6379> set k1 a
OK
127.0.0.1:6379> set k2 1
OK
127.0.0.1:6379> OBJECT encoding k1
"embstr"
127.0.0.1:6379> OBJECT encoding k2
"int"

我们可以看到对不不同的value值,对应的Encoding也不同,Redis引入Encoding的也是为了方便对value值的操作。如果对于“embstr”的类型直接可以用append对字符进行追加操作,对于“int”类型的可以直接incr/incrby 操作,如果互换对字符类型的incr/incrby,Redis会直接判定失败,而不会在内存中去转换的时候发现类型不对而抛出异常,这也是Redis高效的原因的一些细节。
int类型提供的Incr/Incrb

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值