【Redis】新数据类型

Redis新数据类型

Bitmaps

Bitmaps本身不是一种数据类型,实际上它就是字符串(key-value),但是它可以对字符串的位进行操作。

Bitmaps单独提供了一套命令,所以在Redis中使用Bitmaps和使用字符串的方法不太相同。可以把Bitmaps想象成一个以位为单位的数组,数组的每个单元只能存储0和1,数组的下标在Bitmaps中叫做偏移量。

在这里插入图片描述

常用命令

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

  • getbit:getbit获取Bitmaps中某个偏移量的值

  • bitcount:bitcount[start end] 统计字符串从start字节到end字节比特值为1的数量

  • bitop:bitop and(or/not/xor) [key…]

    bitop是一个复合操作, 它可以做多个Bitmaps的and(交集) 、 or(并集) 、 not(非) 、 xor(异或) 操作并将结果保存在destkey中

在这里插入图片描述

HyperLogLog

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

常用命令

  • pfadd:pfadd < element> [element …] 添加指定元素到 HyperLogLog 中
  • pfcount:pfcount [key …] 计算HLL的近似基数,可以计算多个HLL,比如用HLL存储每天的UV,计算一周的UV可以使用7天的UV合并计算即可
  • pfmerge:pfmerge [sourcekey …] 将一个或多个HLL合并后的结果存储在另一个HLL中,比如每月活跃用户可以使用每天的活跃用户来合并计算可得

在这里插入图片描述

在这里插入图片描述

Geospatial

GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。

常用命令

  • geoadd:geoadd< longitude> [longitude latitude member…] 添加地理位置(经度,纬度,名称)

  • geopos:geopos [member…] 获得指定地区的坐标值

  • geodist:geodist [m|km|ft|mi ] 获取两个位置之间的直线距离

    单位:

    m 表示单位为米[默认值]。

    km 表示单位为千米。

    mi 表示单位为英里。

    ft 表示单位为英尺。

    如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位

  • georadius:georadius< longitude>radius m|km|ft|mi 以给定的经纬度为中心,找出某一半径内的元素

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

科研达人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值