Redis实战案例27-UV统计

1. Redis的HyperLogLog的统计功能


示例:

表明HyperLogLog不管加入重复元素多少次都不会让count++,不会计数重复元素,所以适合做UV计数

2. 简单实现UV测试

通过单元测试,向 HyperLogLog 中添加 100 万条数据,看看内存占用和统计效果如何

java 复制代码
/**
 * UV统计测试
 */
@Test
void testHyperLogLog() {
    String[] values = new String[1000];
    int j = 0;
    //分批·每次一千导入到Redis中
    for (int i = 0; i < 1000000; i++) {
        j = i % 1000;
        values[j] = "user_" + i;
        if(j == 999) {
            // 发送到Redis中
            stringRedisTemplate.opsForHyperLogLog().add("hl1", values);
        }
    }
    // 统计数量
    Long count = stringRedisTemplate.opsForHyperLogLog().size("hl1");
    System.out.println("count = " + count);
}

插入了一百万条,最后得到的是997573条,符合概率预期

再次查看内存消耗

相关推荐
奶油松果2 小时前
Springboot自动装配 - redis和redission
java·spring boot·redis
siriuuus2 小时前
Redis 安装、多实例部署、主从复制及 Cluster 实践
数据库·redis·centos
绝顶少年9 小时前
Redis 高可用架构三部曲:主从复制、哨兵模式与集群模式深度解析
数据库·redis·架构
你不是我我10 小时前
【Java 开发日记】我们来说一说 Redis IO 多路复用模型
java·开发语言·redis
二进制_博客11 小时前
redis8.0快速搭建主从复制
redis·redis8
haiyu柠檬11 小时前
迁移redis 集群从Ubuntu到Red Hat
数据库·redis·缓存
AI浩13 小时前
【Redis】Windows下Redis环境搭建与使用详细教程
数据库·windows·redis
卿雪13 小时前
认识Redis:Redis 是什么?好处?业务场景?和MySQL的区别?
服务器·开发语言·数据库·redis·mysql·缓存·golang
二进制_博客13 小时前
全新redis8.0在centos7.5的安装
redis·nosql·redis8