redis 04-geo地理信息、hyperloglog、bitmap

可以添加地理坐标信息,经度纬度啥的,实现附近的好友,地图两点距离等功能

  • geoadd china 116.40 39.90 beijing 121.47 31.23 shanghai 160.50 29.53 chongqing ;china是key,然后是经度,纬度,名称
  • geopos china beijing ; 返回结果如下。看来redis不能精确存储浮点数
  1. “116.39999896287918091”
  2. “39.90000009167092543”
  • geodist china beijing shanghai km ;计算两地距离 得到"1067.3788"
  • georadius china 110 30 1000 km desc ;查看距离坐标(110,30)1000km内的城市
  • GEORADIUSBYMEMBER china beijing 1000 km;跟上一个类似,可以定位某个变量的信息了
  • zrem china beijing;由于redis没有提供删除地理信息的功能,所以我们可以通过这个命令实现。因为它底层就是zset

hyperloglog 可以统计网站访问量等,思想是布隆过滤器。大小固定是12kb(2^64-1),非常省空间。

  • pfadd key a b c 1 2
  • pfcount key
  • pfmerge key3 key1 key2; 将key1,key2合并至key3

位图bitmap,适用于只有两种情况的场景,如每日是否登录等,因为只有0和1两种状态.

  • setbit key offset value; offset表示index,value只有0和1两种。
  • getbit key offset;
  • bitcount key; 统计全是1的offset有多少个。可以用来查看活跃天数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值