Redis 地理空间索引对于查找给定地理半径或边界框内的位置非常有用,简单来说可以用来推算两地之间的距离,方圆多少公里内的人
城市经纬度查询-国内城市经度纬度在线查询工具 查看城市经纬度
- # 添加地理位置
- geoadd china:citys 123.43 41.80 shenyang 116.405285,39.904989 shenyang
-
- # 获取指定的成员的经度和纬度
- geopos china:citys shenyang shenyang
-
- # 获得所有附近的人的地址, 定位, 通过半径来查询 ->附近的人功能命名
-
- georadius china:citys 100 25 1000 km # 以 100,30 这个坐标为中心, 寻找半径为1000km的城市
Redis 位图允许对字符串执行按位运算,即用来操作二进制位用来记录,只有 0 和 1 两种状态
- # 设置 指定值
- # 下面的例子:周三没打卡,周一周三周四打卡了
- setbit week 1 1
- setbit week 2 1
- setbit week 3 0
- setbit week 4 1
-
- # 拿到指定值
- # 看看周三打卡没有
- getbit week 3
-
- # 统计1个的数量
- # 看看打卡几天
- bitcount week
统计用户信息,活跃,不活跃! 登录,未登录! 打卡,不打卡! 两个状态的,都可以使用 Bitmaps!
HyperLogLog 是一种概率数据结构,用于估计集合的基数。作为一种概率数据结构,HyperLogLog 以完美的准确性换取高效的空间利用
解释:基数:不重复的数,集合 A = {1, 2, 3} B = {3, 4, 5 } 基数为 = 3(可能会有误差)
- # PFADD将一个项目添加到 HyperLogLog。
- # PFCOUNT返回集合中项目数量的估计值。
- # PFMERGE将两个或多个 HyperLogLog 合并为一个
-
- pfadd key1 a b c d e f g h i # 创建第一组元素
-
- pfcount key1 # 统计元素的基数数量
-
- pfadd key2 c j k l m e g a # 创建第二组元素
-
- pfcount key2
-
- pfmerge key3 key1 key2 # 合并两组:key1 key2 -> key3 并集
-
- pfcount key3
‘
每个时间段的每页(视频/歌曲)都会创建一个 HyperLogLog,并且每次访问时都会将每个 IP/标识符添加到其中