• redis 发布订阅、geo、bitmap、hyperloglog


    1、发布订阅
    1. 简介

      1. 发布订阅类似于广播功能。redis发布订阅包括 发布者、订阅者、Channel
    2. 命令
    命令作用时间复杂度
    subscribe channel 订阅一个频道 O(n)
    unsubscribe channel ... 退订一个/多个频道 O(n)
    publish channel msg 将信息发送到指定的频道 O(n+m),n 是频道 channel 的订阅者数量, M 是使用模式订阅(subscribed patterns)的客户端的数量
    pubsub CHANNELS 查看订阅与发布系统状态(多种子模式) O(n)
    psubscribe 订阅多个频道 O(n)
    unsubscribe 退订多个频道 O(n)
    2、geo
    1. 简介

      1. geo是地理空间位置。redis支持将geo信息存储到有序集合中,再通过geohash算法进行填充
    2. 命令
    命令作用
    geoadd key latitude longitude member 添加成员位置(纬度、经度、名称)到key中
    geopos key member ... 获取成员geo坐标
    geodist key member1 member2 计算成员位置间距离
    georadius 基于经纬度坐标范围查询
    georadiusbymember 基于成员位置范围查询
    geohash 计算经纬度hash
    3、bitmap
    1. 简介

      1. bitmap是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),在bitmap上可执行AND, OR, XOR以及其它位操作
    2. 命令
    命令作用时间复杂度
    setbit key offset val 给指定key的值的第offset赋值val O(1)
    getbit key offset 获取指定key的第offset位 O(1)
    bitcount key start end 返回指定key中[start,end]中为1的数量 O(n)
    bitop operation destkey key 对不同的二进制存储数据进行位运算(AND、OR、NOT、XOR) O(n)
    4、hyperloglog
    1. 简介

      1. hyperloglog可用极小空间完成独立数统计
    2. 命令
    命令作用
    pfadd key element ... 将所有元素添加到key中
    pfcount key 统计key的估算值(不精确)
    pgmerge new_key key1 key2 ... 合并key至新key

    PS: 更多文章请关注微信公众号:浮话

  • 相关阅读:
    09不可变类型
    08浅拷贝和深拷贝
    07参数的传递
    06判等对象是否相等
    05引用类型以及特殊引用类型string
    报错:Missing type map configuration or unsupported mapping
    黄聪:VS2010开发T4模版引擎之基础入门
    黄聪:《网站高转换率法则》#2:你的网站是垃圾站吗?
    黄聪:《网站高转换率法则》#1:为什么要研究网站转换率?
    黄聪:百度知道中对HTML字符实体、字符编号,&开头字符的使用
  • 原文地址:https://www.cnblogs.com/jie-hu/p/10940649.html
Copyright © 2020-2023  润新知