首页 > 其他 > 详细

Redis的特殊数据类型

时间:2021-03-08 16:16:14      阅读:32      评论:0      收藏:0      [点我收藏+]

1. BitMap(Redis2.2版本之后)

  内部编码为二进制字符串

  1. 命令:setbit key offset value

  offset 必须是数字代表坐标,从0开始计数;value只能为0或1

  底层初始化一个全为0的字符串(默认32位),根据offset的将对应位置的值更改为value,用于保存二进制

  2. 命令:bitcount key

  统计key下所有非0的个数

  3. 命令:bitop and target source1 source2(Redis2.6.0版本之后)

  对source1和source2做与操作,若两者长度不等,缺少部分自动补零,生成新键target

  优点:数据结构简单,占用内存很少,操作速度快。譬如以用户id作为offset,当访问过本网站,对应的value设置为1,存储一亿个用户的访问数据,消耗内存12.5M

2.  HyperLogLog(Redis2.8版本之后)

  内部编码分为稀疏型和密集型

  1. 命令:pfadd key value

  插入键值,如果插入成功(对应键的值没有重复)返回1,否则返回0

  2. 命令 pfcount key

  统计指定key下,对应值的个数

  3. 命令 pfmerge target source1 source2

  合并source1和source2代表的键值对,会对结果去重,生成新的键target。

  用途:记录网站IP的注册数,每日访问的IP数,在线用户人数

  缺点:只能看到统计信息,无法看到值对象

3. Geospatial(Redis3.2版本之后)

  用来保存地理位置,计算距离或者根据半径计算位置。基于Sorted Set

  1. 命令:GEOADD key 经度 维度 地名

  把具体的位置存到指定的key

  2. 命令:ZRANG key 0 -1

  查询第一个到倒数第一个元素

  3. 命令 GEODIST key 地名1 地名2 单位(m/km)

  查看地名1和地名2之间的距离

  4. 命令 GEOPOS key 地名

  查看指定地名的经纬度

  5. 命令 GEORADIUS key 经度 维度 范围距离 单位

  查看指定经纬度一定范围内能找到的地点

  6. 命令 GEORADIUSBYMEMBER key 地名 范围距离 单位

  查看指定地名一定范围内能找到的地点

 

 

 

 

  

Redis的特殊数据类型

原文:https://www.cnblogs.com/walker993/p/14499758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!