1. Bitmaps(主要用于统计活跃度)
1. 特点
- 对位进行操作
- 实际上是字符串
- 可以想象为一个以位为单位的数组,只存储0和1,下标为偏移量
- 第一次初始化,如果偏移量非常大,执行过程就会比较慢,可能会造成Redis堵塞
- 如果活跃用户够大,建议使用
2. 常用命令
| setbit <key> <offset> <value> 设置偏移量对应的值 |
| getbit <key> 获取指定位置的值 |
| bitcount <key> [start][end] 获取<key>对应的1的数量 |
| |
| #联合操作 |
| bitop and/or/not/xor <newkey> <key1> <key2> 将key1和key2的bitmap交集,对应到newkey中 ,返回值为byte(长度÷8) |
| 127.0.0.1:6379> setbit jack 1 1 |
| (integer) 0 |
| 127.0.0.1:6379> setbit jack 13 1 |
| (integer) 0 |
| |
| 127.0.0.1:6379> getbit jack 1 |
| (integer) 1 |
| 127.0.0.1:6379> getbit jack 4 |
| (integer) 0 |
| |
| 127.0.0.1:6379> bitcount jack |
| (integer) 2 |
| |
2. HyperLogLog (用于统计不重复元素个数,基数问题)
- 通过更小的内存,计算更大的基数
- 只会根据输入元素计算基数,并不会存储元素,因此不能返回输入元素
- 常用命令
| pfadd <key> <value> 加入元素 |
| pfcount <key> 统计基数 |
| pfmerge <distkey> <sourcekey1> <<sourcekey2> 将sourcekey中的基数添加到distkey中(自带去重) |
| 127.0.0.1:6379> pfadd k1 q |
| (integer) 1 |
| 127.0.0.1:6379> pfadd k1 e |
| (integer) 1 |
| 127.0.0.1:6379> pfadd k1 e |
| (integer) 0 |
| 127.0.0.1:6379> pfcount k1 |
| (integer) 2 |
| 127.0.0.1:6379> pfadd k2 e |
| (integer) 1 |
| 127.0.0.1:6379> pfmerge k3 k1 k2 |
| OK |
| |
| 127.0.0.1:6379> pfcount k3 |
| (integer) 2 |
3. Geospatial(地理信息)
- 元素的2维坐标
- 常见命令
| geoadd <key> <经度> <纬度> <名字> <经度2> <纬度2> <名字2>... 添加坐标 |
| #经度范围 -180~180; 纬度范围-85.05112878~85.05112878 |
| geopos <key> <名字> 获取经纬度 |
| geodist <key> <名字1> <名字2> [m|km|ft|mi] 获取两点之间的距离 |
| georadius <key> <经度> <纬度> <radius> [m|km|ft|mi] 获取指定经纬度为中心,一定半径下的坐标元素 |
| 127.0.0.1:6379> geoadd city 121.1 31.2 shanghai 33 22 unknowncity |
| (integer) 2 |
| |
| 127.0.0.1:6379> geopos city shanghai |
| 1) 1) "121.10000163316726685" |
| 2) "31.20000061483705878" |
| |
| 127.0.0.1:6379> georadius city 100 20 3000 KM |
| 1) "shanghai" |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南