文章目录
redis位图(bitmap) --- 底子还是string
基本命令图示
`setbit key offset value` setbit 键 偏移位 只能零或者1
`getbit key offset` 查看
获取字符串长度 `strlen`
统计key中包含1的个数 `bitcount key`
`bitop` 统计两个比特key是否都为1
技术落地:打卡签到,频繁修改数据库的,结果只有0和1
redis基数统计(HyperLogLog) --- 底子是string
UV:Unique Visitor,独立访客;统计搜索词条
基数统计算法
基数
基本命令图示
基数落地:天猫统计亿级UV
redis地理空间 (GEO) --- 底子上是有序集合
获取经纬度
添加经纬度坐标 `GEOADD key 经度1 纬度1 位置名称1 经度2 纬度2 位置名称2...`
处理中文乱码
`GEOPOS key value1 value2` 从键里面返回所有给定位置元素的位置 (经度和纬度)
`GEODIST key value1 value2 [m | km | ft | mi] ` 返回两个给定位置之间的距离
`GEORADIUS key 经度 纬度 10km...` 以给定的经纬度为中心,返回与中心的距离不超过给定最大距离的所有位置元素
`GEORADIUSBYMEMBER key value 10km ...` 跟GEORADIUS类似
`GEOHASH key value1 value2` 返回一个或多个位置元素的 Geohash 表示
redis流 (Stream) --- 自成一脉stream
底层结构与原理
基础命令图示
特殊符号
向队列添加消息到队列末尾 `XADD key * id 1 cname z3`
范围检索 `XRANGE key start end [COUNT count]`
`XREVRANGE KEY + - `
`XDEL key MQID` 按照主键删除
`XLEN key` 消息队列长度
截取 `XTRIM key maxlen|minlen 2`
读取消息(阻塞、非阻塞),只会返回ID大于某值的消息 `XREAD [COUNT count] stream key ID`
消费组执行-`XGROUP`
消费组执行-`XREADGROUP GROUP`
重要问题-ACK机制
`XPENDING` 查询每个消费组内所有消费者 r已读取、但尚未确认]的消息
`XACK` 向消息队列确认消息处理已完成
`XINFO stream key` 打印出详情信息
redis位域(bitfield)
应用、用途 --- 位域修改、溢出控制
基本语法 `BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]`
`BITFIELD key [GET type offset]`
`BITFIELD key [SET type offset value]`
`BITFIELD key [INCRBY type offset increment]`
`溢出控制OVERFLOW [WRAPISAT|FAIL]`
文章目录
redis位图(bitmap) --- 底子还是string
基本命令图示
`setbi