Redis6三种新数据类型解析

1. 概述

Redis6中除了有5中基本的数据类型外,还有另外3中新数据类型,包括Bitmaps、HyperLogLog和Geospatial。本文将详细介绍这3中数据类型。

2. Bitmaps

2.1. 简介

Redis提供的Bitmaps可以实现对位的操作,实际上就是字符串(key-value),只是单独提供了一套命令,可以把其看作是一个以位为单位的数组,数组的每个单元只能存储0和1,数组的下标在Bitmaps中称作偏移量

2.2. 命令

setbit:设置某个偏移量的值(0或1)

setbit <key> <offset> <value>

getbit:获取某个偏移量的值

getbit <key> <offset>

bitcount:统计字符串被设置为1的比特数量,start和end为字节

bitcount <key>
bitcount <key> <start> <end>

bitop:获取交集、并集、非、异或,并将结果保存在另一个key中

bitop and(or/not/xor) <destkey> <key...>

3. HyperLogLog

3.1. 简介

HyperLogLog用于做基数统计,其优点是输入元素的数量或者体积非常大时,计算基数所需的空间总是固定的,并且很小

3.2 命令

pfadd:添加元素

pfadd <key> <element...>

pfcount:统计近似基数个个数

pfcount <key>

pfmerge:将一个或多个HLL合并后的结果保存在另一个HLL中

pfmerge <destkey> <sourcekey>

4. Geospatial

4.1. 简介

用于存储二维坐标数据,如地图经纬度

4.2. 命令

geoadd:添加位置信息

geoadd <key> <longitude> <latitude> <member>

geopos:获取坐标值

geopos <key> <member>

geodist:获取两个位置的直线距离

geodist <key> <member1> <member2> [m|km|ft|mi]

georadius:给定经纬度为中心,找出某一半径内的值

georadius <key> <longitude> <latitude> radius m|km|ft|mi

关于SpringBoot与三种新数据类型的整合,请参阅另一篇SpringBoot2.3整合Redis6实现基本操作

猜你喜欢

转载自blog.csdn.net/liu320yj/article/details/119956470