Redis新数据类型

Redis新数据类型

BitMaps

  1. Redis提供了Bitmaps这个数据类型,可以实现对位的操作
    (1)Bitmaps本身不是一种数据类型,实际上它就是字符串,但它可以对字符串的位进行操作
    (2)可以把Bitmaps想象成一个以位为单位的数组,数组的每个单元只能存储0和1,数据的下标在Bitmaps中叫做偏移量
  • 基本命令:
  1. setbit <key> <offset> <value>设置Bitmaps中某个偏移量的值(0或1)
  2. getbit <key> <offset>获取Bitmaps中某个偏移量的值

在这里插入图片描述

  1. bitcount <key> [start] [end]统计字符串被设置为1的个数
    (1)一般情况下,给定的整个字符串都会被进行计数,通过指定额外的startend参数,可以让计数只在特定的位上进行
    (2)startend参数的设置,都可以使用负数值,-1表示最后以为,-2表示倒数第二位
    (3)startend是指bit组的字节的下标数

在这里插入图片描述
在这里插入图片描述

  1. bitop and(or/not/xor) <destkey> [key ...] bitop是一个复合操作,它可以做多个Bitmaps异或操作并将结果保存在destkey

在这里插入图片描述

在这里插入图片描述

HyperLogLog

  1. Redis的HyperLoglog是用来做基数统计的算法,优点是在输入元素的数量或体积非常大时,计算基数所需要的空间是固定的,且很小
  • 基数问题:
  1. 基数问题是指求集合中不重复元素个数
  2. 解决基数问题的方法:
    (1)数据存储在MySQL数据库时,可以利用distinct和count计算不重复个数
    (2)使用Redis提供的hashsetbitmaps等数据结构来处理
  3. 以上方案,结果精确,但会导致占用空间越来越大,实际场景下可能难以应用
  4. HyperLogLog是通过损失一定精度来减少内存的消耗
  5. 在Redis中HyperLogLog只需要花费12KB内存,就可以存储 2 64 2^{64} 264个不同的元素的基数
  • 基本命令:
  1. pfadd <key> <element> [element...]添加指定元素到HyperLogLog

在这里插入图片描述

  1. pfcount <key> [key...]计算HyperLogLog中的近似基数,可以计算多个HLL
  2. pfmerge destkey sourcekey [sourcekey...]将一个或多个HLL合并后的结果保存到另一个HLL中

在这里插入图片描述

Geospatial

  1. Geospatial(GEO)是地理信息的缩写,该类型就是元素的2维坐标,即地图上的经纬度
  • 基本命令:
  1. geoadd <key> <longitude> <latitude> <member> [longitude latitude member...]添加地理位置(经度、维度、名称)
  2. geopos <key> <member [member ...]>获取指定地区的坐标值
  3. geodist <key> <member1> <member2> [m|km|ft|mi]获取两个位置之间的直线距离
  4. georadius <key> <longitude> <latitude> radius m|km|ft|mi以给定的经纬度为中心,找出某一半径内的元素

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_46427273

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值