网页浏览量记录方法

本文介绍了在开发新闻系统时如何处理高并发的新闻浏览量统计问题。通过使用Redis的HyperLogLog算法,可以有效避免数据库因大量并发请求而瘫痪。HyperLogLog是一种基数统计算法,能以极低的内存成本计算大量唯一用户的基数。在Redis 2.8.9及以上版本中,可以使用相关命令进行操作。文章鼓励读者动手实践,将基数统计应用到实际项目中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本期给大家讲述描述一些目前正在进行的分布式项目的一些小技术点,由于我们现在正在做新闻系统,其中一个功能模块就是新闻的浏览量怎么计算。

那么这期就为大家解释一下我处理浏览器浏览量计算方式方法,

首先大家思考一下,新闻系统的浏览量肯定是一个高并发的项目,用户每点击一次,获取用户的ip,如果该用户是第一次访问该博客,就在数据库的该条

新闻的浏览量上加一,首先,是肯定要在浏览量上加上一,这是肯定的,然后大家想想,如果这条新闻特别火,同时几百万人同时访问,那么数据库会不会

立马瘫痪,那么这时很显然,就不应该去数据库添加了。肯定要去用到我们redis,那么redis怎么去存,存储什么样的数据格式,这又是一个需要好好考虑

的问题。

那么衡量浏览器浏览量的标准是pv(page和view)和uv(user和view):

什么是pv呢,也就是说刷新一次就加上一次浏览量,一般我们用pv反映的是服务器的压力,

那么uv,也就是一个用户点击一次才加上一次,这种场景适合我们做浏览量的统计

了解上边的需求之后,带大家了解一下一种HyperLogLog算法,HyperLogLog算法是用于基数统计的算法,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。HyperLogLog适用于大数据量的统计,因为成本相对来说是更低的,最多也就占用12kb内存

简单了解之后大家是不是就明白了,结合我们上边的需求,就很清楚了,那么我们该怎么操作HyperLogLog呢,在Redis 在 2.8.9 版本才添加了 HyperLogLog,

所以大家要注意自己的redis版本,也就是说我们在redis中就可以操作,具体命令大家翻阅博客都有,在这就不一一列举了。

那么上边描述过后,大家就动手操作吧,利用redis把基数存入HyperLogLog,加油加油!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值