zoukankan      html  css  js  c++  java
  • Redis:(二)三种特殊数据类型常用命令

    Geospatial 地理位置

    底层是Zset,所以可以用Zset的一些命令操作geospatial

    应用:附近的人,朋友的定位,打车距离计算。

    有效的经度从-180度到180度。

    有效的纬度从-85.05112878度到85.05112878度。

    单位:

    • m表示米。
    • km表示千米。
    • mi表示英里。
    • ft表示英尺。
    geoadd china:city 116.40 39.90 beijing       # 添加城市经纬度及名称
    geopos china:city beijing                # 返回城市的经度和纬度
    geodist china:city beijing shanghai km       # 返回两个元素间的直线距离(单位为km)
    georadius china:city 110 30 1000 km        # 以给定的经纬度(110,30)为中心,找到某一半经(1000km)的元素
    2)georadius china:city 110 30 1000 km withdist # 显示到中间距离的位置
    3)georadius china:city 110 30 1000 km withcoord # 显示他人的定位信息
    4)georadius china:city 110 30 1000 km withcoord count 1 # 筛选出指定个数
    georadiusbymember china:city beijing 1000km   # 找出位于指定元素的周围的其他元素

    Hyperloglog 基数统计

    应用:网页的UV(一个人访问网站多次,还是算作一次访问量),0.81%的错误率。

    如果允许容错,首选它,否则使用set或自己的数据类型。

    PFADD mykey a b c d e f g h i j # 创建第一组元素mykey
    PFCOUNT mykey             # 统计mykey元素的基数数量
    PFADD mykey2 i j z x c v b n m  # 创建第二组元素mykey2
    pfmerge mykey3 mykey mykey2     #合并两组元素(mykey+mykey2 => mykey3),自动去掉两组间重复数据

    Bitmaps 位图

    应用:统计用户信息,活跃,不活跃!登录、未登录!打卡,两种状态的,都可以使用它。

    Bitmaps位图,数据结构,都是操作二进制来进行记录,只有0和1两个状态。

    例如使用bitmaps来记录周一到周日的打卡:

    周一: 1 (打卡) 、周二: 0 (未打卡)...

    127.0.0.1:6379> setbit sign 0 1
    (integer) 0
    127.0.0.1:6379> setbit sign 1 0
    (integer) 0
    127.0.0.1:6379> setbit sign 2 0
    (integer) 0
    127.0.0.1:6379> setbit sign 3 1
    (integer) 0
    127.0.0.1:6379> setbit sign 4 1
    (integer) 0
    127.0.0.1:6379> setbit sign 5 0
    (integer) 0
    127.0.0.1:6379> setbit sign 6 0
    127.0.0.1:6379> getbit sign 3  # 获取周四有没有打卡
    (integer) 1
    127.0.0.1:6379> bitcount sign  # 统计打卡的天数
    (integer) 3
  • 相关阅读:
    环境变量的配置
    java语言概述
    快捷键,功能键及常用的DOS命令
    html介绍
    Java web学习框架
    线程的使用
    Task类(任务)
    Parallel类(简化Task 操作)
    文件及数据流技术
    泛型的使用
  • 原文地址:https://www.cnblogs.com/liuyu666/p/14019160.html
Copyright © 2011-2022 走看看