redis的数据类型有哪些?有五种常用数据类型:string、hash、set、list、sortedset。以及三种特殊的数据类型:bitmap、hyperloglog、geospatial ,其中hyperloglog、bitmap的底层都是 string 数据类型,geospatial 的底层是 sorted set 数据类型。
五种常用的数据类型:
1、string:string是最常用的一种数据类型,普通的key- value 存储都可以归为此类。其中value既可以是数字也可以是字符串。使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。
2、hash:hash 是一个键值(key =》 value)对集合。redishash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值。
3、set:set是一个无序的天然去重的集合,即key-set。此外还提供了交集、并集等一系列直接操作集合的方法,对于求共同好友、共同关注什么的功能实现特别方便。
4、list:list是一个有序可重复的集合,其遵循fifo的原则,底层是依赖双向链表实现的,因此支持正向、反向双重查找。通过list,我们可以很方面的获得类似于最新回复这类的功能实现。
5、sortedset:类似于java中的treeset,是set的可排序版。此外还支持优先级排序,维护了一个score的参数来实现。适用于排行榜和带权重的消息队列等场景。
三种特殊的数据类型:
1、bitmap:位图,bitmap想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在bitmap中叫做偏移量。使用bitmap实现统计功能,更省空间。如果只需要统计数据的二值状态,例如商品有没有、用户在不在等,就可以使用 bitmap,因为它只用一个 bit 位就能表示 0 或 1。
2、hyperloglog。hyperloglog 是一种用于统计基数的数据集合类型,hyperloglog 的优点是,在输入元素的数量或者体积非常非常大
时,计算基数所需的空间总是固定 的、并且是很小的。每个 hyperloglog 键只需要花费 12 kb 内存,就可以计算接近 2^64 个不同元素的基 数。
场景:统计网页的uv(即unique visitor,不重复访客,一个人访问某个网站多次,但是还是只计算为一次)。
要注意,hyperloglog 的统计规则是基于概率完成的,所以它给出的统计结果是有一定误差的,标准误算率是 0.81%。
3、geospatial :主要用于存储地理位置信息,并对存储的信息进行操作,适用场景如朋友的定位、附近的人、打车距离计算等。
东芝卖身计划再陷僵局 苹果和戴尔背后支持富士康
科里奥利质量流量计CMF的基本原理
反射式系列激光入侵探测器技术特点介绍
Facebook将公司名改为Meta
QNX为医疗设备开发人员推出符合IEC 62304 标准的实时操作系统
Redis的数据类型有哪些
激光焊接工艺有哪些?
如何在电子产品中优化HDI设计
TP三层交换机企业应用配置实例
海力士拟偿还8.88亿美元债务 得益于芯片需求
什么是可信平台模块
微软公布Project Reunion 预览版 v0.1.0,统一 Win32 和 UWP API
锁相环中压控振荡器的固定频率是怎么确定的?是要和电网频率一致?
小米发力印度高端智能手机市场 披露首份财报
百望云产业链图谱引领数字变革 赋能企业高价值数字资产管理
矿用变压器的特点_矿用变压器的优点
联通5G基站已有6.4万个,致力加快5G建设
新款东风广本思域搭载1.0T涡轮增压发动机,“小巧玲珑”也有大动力
氮化镓mos管的优缺点有哪些
人脸识别系统在我们日常生活中带来的好处