redis 发布订阅、geo、bitmap、hyperloglog
2024-09-03 12:33:58
1、发布订阅
简介
- 发布订阅类似于广播功能。redis发布订阅包括 发布者、订阅者、Channel
- 命令
命令 | 作用 | 时间复杂度 |
---|---|---|
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
简介
- geo是地理空间位置。redis支持将geo信息存储到有序集合中,再通过geohash算法进行填充
- 命令
命令 | 作用 |
---|---|
geoadd key latitude longitude member | 添加成员位置(纬度、经度、名称)到key中 |
geopos key member ... | 获取成员geo坐标 |
geodist key member1 member2 | 计算成员位置间距离 |
georadius | 基于经纬度坐标范围查询 |
georadiusbymember | 基于成员位置范围查询 |
geohash | 计算经纬度hash |
3、bitmap
简介
- bitmap是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),在bitmap上可执行AND, OR, XOR以及其它位操作
- 命令
命令 | 作用 | 时间复杂度 |
---|---|---|
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
简介
- hyperloglog可用极小空间完成独立数统计
- 命令
命令 | 作用 |
---|---|
pfadd key element ... | 将所有元素添加到key中 |
pfcount key | 统计key的估算值(不精确) |
pgmerge new_key key1 key2 ... | 合并key至新key |
PS: 更多文章请关注微信公众号:浮话
最新文章
- Android基础总结(八)
- BestCoder Round #90
- 【巩固】JS中的封闭空间
- memcached介绍及基本使用
- python安装paramiko需要的依赖
- textarea 中的换行符
- 移动前端框架,require.js压缩
- 081 Region的预分区
- HDU1007.Quoit Design
- confluence 为合并的单元格新增一行
- Mongodb的入门(6)副本集
- windows 7 提示缺少D3DCOMPILER_47.dll的正确解决方法
- ios开发之--使用xib适配iPhone X
- OC MRC之autorelease问题(代码分析)
- CSS的overflow属性介绍
- ASP.NET Identity 2集成到MVC5项目--笔记01
- TreeMap实现原理及源码分析
- Unit02: 参数值注入 、 基于注解的组件扫描
- Nginx RTMP 模块 nginx-rtmp-module 指令详解
- eclipse 中文或法文等语言注释错误解决办法 Some characters cannot be mapped using ";GBK"; character encoding