Redis 三种特殊的数据类型

  1. Geospatial
    • 底层原理:ZSet 实现
    • 基本操作
      --+
          geoadd country:city 经度 纬度 cityName...   
      --查询两城市之间的距离
          geopos country:cityName1 cityName2 [km,m,mi,ft](单位) 
      --查询给定的维度为中心,找出在半径R范围内的元素
          GEoradius country:city 经度 纬度 R [km,m,mi,ft](单位)  [count num]限制查询个数
      --以给定的城市为中心 找出在半径R范围内的元素
          GEoradiusByMember country:city cityName R  [km,m,mi,ft](单位)
      --将二维的经纬度转化为一维的字符串
          Geohash country:city cityName... 
  2. Hyperloglog
    • 应用场景:不重复的元素
    • 优点:占用的内存是固定的(12kb) ,缺点(有一定的容错)
    • 基本操作
      --添加
        PFadd key value1 value2... --不重复的数组
      --合并 key1 和 key2 到key3去
        PFmerge key3 key1 key2
      --查询数量
        PFcount key

       

  3. Bitmaps 
    • 场景:统计打卡,登陆...
    • 存储机制:位存储 操作二进制位来进行记录 (0/1)
    • 基本操作
      --添加
          Setbit key index 0/1 
      --取出
          Getbit key index 
      --统计
          BitCount key [start-end](筛选条件)

       

posted @ 2021-01-24 16:25  龙er飞  阅读(72)  评论(0编辑  收藏  举报