Redis学习笔记之Redis6新数据类型

除了五大基本数据类型,Redis6中增加了一些新的数据类型。

Bitmaps简介

合理地使用操作位能够有效地提高内存使用率和开发效率。因此Redis提供了Bitmaps这个“数据类型”来实现对位的操作:

  • Bitmaps本身不是一种数据类型,实际上它就是字符串(key-value),但是它可以对字符串的位进行操作。
  • Bitmaps单独提供了一套命令,所以在Redis中使用Bitmaps和使用字符串的方法不太相同。可以把Bitmaps想象成一个以位为单位的数组,数组的每个单元只能存储0和1,数组的下标在Bitmaps中叫做偏移量。

Bitmaps常用命令

#设置Bitmaps中某个偏移量的值(0或1),offset从0开始
setbit <key><offset><value>
#获取Bitmaps中某个偏移量的值
getbit <key><offset>
#统计字符串被设置为1的bit数,并且可以指定统计范围
bitcount <key>[start end]

Bitmaps应用场景

Bitmaps用来存储活跃用户可以比用set存储大大节省所占空间

HyperLogLog

HyperLogLog简介

解决基数问题(求集合中不重复元素的个数的问题)
HyperLogLog是用来做基数统计的算法,HyperLogLog的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。

HyperLogLog常用命令

#添加指定元素到HyperLogLog中,也可以一次加多个值
pfadd <key><element> [element]
#统计基数的数量
pfcount <key> [key ...]
#合并多个(比如每月的活跃用户可以使用每天的活跃用户来合并计算可得)
pfmerge <destkey><sourcekey> [sourcekey ...]

Geospatial

Geospatial简介

用于处理地理信息,经纬度

Geospatial常用命令

#添加地理位置(经度、纬度、名称)
geoadd <key><longitude><latitude><member> [longitude latitude member...]
#获得指定地区的坐标值
geopos <key><member> [member...]
#获取两个位置之间的直线距离
geodist <key><member1><member2>
#以给定的经纬度为中心,找出某一半径内的元素
georadius <key><longitude><latitude>radius m|km|ft|mi

版权声明: 如无特别声明,本文版权归 月梦の技术博客 所有,转载请注明本文链接。

(采用 CC BY-NC-SA 4.0 许可协议进行授权)

本文标题:《 Redis6新数据类型 》

本文链接:https://ymiir.netlify.app//redis/Redis6%E6%96%B0%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html

本文最后一次更新为 天前,文章中的某些内容可能已过时!