Redis的几种数据类型

注意区分是数据类型还是数据结构。 

Redis的数据类型分为五种基本数据类型以及3种扩展数据类型。

对于基本数据类型有:String,哈希,列表,集合,有序集合。

三分恶面渣逆袭:Redis基本数据类型
​​​​

String:可以存储文本,二进制等。主要应用场景有Token,验证码,简单的对象等

哈希:以键值对形式存储,最常用的就是存储对象

列表:是一个有序的元素集合,支持从头部或者尾部插入或者删除元素。可以用来模拟消息队列。

集合:是无序且不包含重复元素的。支持交集,并集操作,查询效率为O(1),可以用来实现去重,共同好友等功能。对于查询效率为O(1)的解释,是集合底层使用了哈希表或者整数集合。当集合中元素多的时候,采用哈希表;元素采用整数集合,整数集合是一个有序数组,采用二分查找,因为元素较少,近似为O(1)。

有序集合:是有序且不包含重复元素的。每个元素会有一个对应的score值。根据score值给元素排序。适用于排行榜。

再来简单说说扩展数据类型:GEO,HyperLogLog,Bitmap

GEO:是用来存储和查询地理位置信息的。可以用来搜索附近商家,两点之间距离等

HyperLogLog:是一种概率性数据结构,以12KB的空间可以判断出海量数据当不重复元素的个数,存在0.81%的误差。可以用来统计网站的热度之类的

Bitmap:把二进制位紧凑在一块内存当中的。每一位表示一个状态。比如0表示已签到,1表示未签到。如果有4个人要统计,可以表示1110,即有三人已签到,一人未签到。如此计算1亿人的签到情况只需要占用1,0000,0000÷8÷1024约等于12KB空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值