请教下各位大佬,如何实现例如半年最常访问某些功能的需求

2022-03-15 00:33:46 +08:00
 Mroldx

比如: 网易云的最近一周的听歌排行,最常访问某几个报表等等 有大概的思路吗, 技术栈: java ,redis

1942 次点击
所在节点    程序员
8 条回复
vance123
2022-03-15 01:03:20 +08:00
每次访问的时候打个时间戳,查询的时候过滤排序一下,这样行吗
4ark
2022-03-15 01:37:08 +08:00
埋点
visitant
2022-03-15 01:49:06 +08:00
看业务需要什么,可以记录每次访问功能的信息(后续走 OLAP 处理出需要的数据),也可以抽象一下把每次访问功能都聚合到一个计数器上。
rbe
2022-03-15 09:41:39 +08:00
都指明 redis 了,难道没有想到 zset 吗 😁
Huelse
2022-03-15 13:27:54 +08:00
Elasticsearch
siteshen
2022-03-15 19:14:32 +08:00
redis 的 sorted set 很适合做这个,至于「最近一周」,可以使用 rolling 算法,存到多个 key 中。
whoosy
2022-03-15 19:51:57 +08:00
redis hyperloglog
kjstart
2022-03-16 12:07:09 +08:00
把 nginx 的访问日志写入 kafka, 用 kibana 建一个 dashboard 就可以了. 老板和 PM 都喜欢.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/840357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX