全部教程·
数据库·
Redis
[目录]
·
Redis HyperLogLog
Redis 教程
Redis 安装教程
Redis 安装 Redis 配置 Redis 命令运行Redis 数据类型
Redis 数据类型 Redis 键(Key) Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集合(ZSet)Redis 高级教程
Redis 连接 Redis 事务 Redis 服务器 Redis 发布订阅 Redis 脚本 Redis HyperLogLog Redis GEO Redis Stream Redis 备份与恢复 Redis 安全 Redis 性能测试 Redis 客户端连接 Redis 管道技术 Redis 分区/分片 Java 使用 Redis PHP 使用 RedisRedis 命令参考
Redis 命令手册 Redis DEL 命令 Redis EXISTS 命令 Redis EXPIRE 命令 Redis KEYS 命令 Redis TTL 命令 Redis RANDOMKEY Redis SET 命令 Redis GET 命令 Redis MGET 命令 Redis MSET 命令 Redis INCR 命令 Redis DECR 命令 Redis APPEND 命令 Redis HDEL 命令 Redis HEXISTS 命令 Redis HGET 命令 Redis HLEN 命令 Redis HSET 命令 Redis LPUSH 命令 Redis LPOP 命令 Redis LLEN 命令 Redis RPOP 命令 Redis RPUSH 命令 Redis SADD 命令 Redis SISMEMBER 命令 Redis SPOP 命令 Redis ZADD 命令 Redis ZRANGE 命令 Redis ZRANK 命令
Redis 教程
Redis 安装教程
Redis 安装 Redis 配置 Redis 命令运行Redis 数据类型
Redis 数据类型 Redis 键(Key) Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集合(ZSet)Redis 高级教程
Redis 连接 Redis 事务 Redis 服务器 Redis 发布订阅 Redis 脚本 Redis HyperLogLog Redis GEO Redis Stream Redis 备份与恢复 Redis 安全 Redis 性能测试 Redis 客户端连接 Redis 管道技术 Redis 分区/分片 Java 使用 Redis PHP 使用 RedisRedis 命令参考
Redis 命令手册 Redis DEL 命令 Redis EXISTS 命令 Redis EXPIRE 命令 Redis KEYS 命令 Redis TTL 命令 Redis RANDOMKEY Redis SET 命令 Redis GET 命令 Redis MGET 命令 Redis MSET 命令 Redis INCR 命令 Redis DECR 命令 Redis APPEND 命令 Redis HDEL 命令 Redis HEXISTS 命令 Redis HGET 命令 Redis HLEN 命令 Redis HSET 命令 Redis LPUSH 命令 Redis LPOP 命令 Redis LLEN 命令 Redis RPOP 命令 Redis RPUSH 命令 Redis SADD 命令 Redis SISMEMBER 命令 Redis SPOP 命令 Redis ZADD 命令 Redis ZRANGE 命令 Redis ZRANK 命令Redis HyperLogLog
Redis 在 2.8.9 版本添加了 HyperLogLog 结构。
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
什么是基数?
比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。
范例
以下范例演示了 HyperLogLog 的工作过程:
redis 127.0.0.1:6379> PFADD runoobkey "redis" 1) (integer) 1 redis 127.0.0.1:6379> PFADD runoobkey "mongodb" 1) (integer) 1 redis 127.0.0.1:6379> PFADD runoobkey "mysql" 1) (integer) 1 redis 127.0.0.1:6379> PFCOUNT runoobkey (integer) 3
Redis HyperLogLog 命令
下表列出了 redis HyperLogLog 的基本命令:
| 序号 | 命令及描述 |
|---|---|
| 1 | PFADD key element [element ...] 添加指定元素到 HyperLogLog 中。 |
| 2 | PFCOUNT key [key ...] 返回给定 HyperLogLog 的基数估算值。 |
| 3 | PFMERGE destkey sourcekey [sourcekey ...] 将多个 HyperLogLog 合并为一个 HyperLogLog |
下一章:Redis GEO 地理位置
Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作。Redis GEO 操作方法有:geoadd:添加地理位置的坐标。geopos:获取地理位置的坐标。geodist:计算两个位置之间的距离。georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
AI 中文社