浏览量统计

需求

统计商品和品牌的浏览量。品牌和商品的关系是一对多。

实现方式

直接改库

最差的解决方案,会影响整个数据表的性能。

使用 redis 进行记录

方法1:

每访问一次,添加一个消息队列(只需存在访问对向的 ID 即可)。通过定时任务每 5 分钟处理一次队列,处理完会删除队列。通过队列内容取指定的关联映射到 Redis Hash 中。为了保证数据不丢失,还有一个定时任务对数据库统计字段进行更新。队列格式和 Hash 格式如下:

1
2
3
4
5
6
'goods' => [
'1' => 1, // 商品ID => 访问数量
]
'brand' => [
'1' =>1, // 品牌ID => 访问数量
]

方法2:

每次访问都进行直接追加。而读取时直接读取 Reids 里的值,这样实时性比较高。还需要一个定时对统计数量进行更新(每天只需执行一次)。