大佬,这个接口如何优化

2022-02-16 19:13:25 +08:00
 gy123

一个记录听课时长的接口,目前每个用户每分钟访问一次,统计了下每天访问量很大,虽然没有到达瓶颈,想着如何优化下。 可以允许一分钟内的不实时,一天一百万不到的请求,但是有些逻辑。 1 、任务寸数据库,定时器抓任务处理。 2 、使用消息队列,拉模式。

1014 次点击
所在节点    问与答
4 条回复
awalkingman
2022-02-16 19:21:34 +08:00
每次用户请求先记录到 redis ,另起一个定时任务异步批量落库。
p2pCoder
2022-02-16 19:29:41 +08:00
每一个用户的一次观看的一分钟请求来了之后,更新对应 count ,以及时间戳写入到 kv 数据库,同时发送一个延时队列消息,一定时间后触发,如果延时消息到达后,当前 kv 里面的时间戳和当前时间戳大于一定阈值,就删除对应的 kv 里面的信息,写入到 rdms
查询的时候,就查询用此次观看的 id 先去查 kv ,查不到再查询数据库

如果要想实现总听课时长的话,可以把上面的逻辑设计为两份,然后在相加,在重新设计下缓存
LLaMA2
2022-02-17 09:33:53 +08:00
我又想到了如何作弊了,哈哈哈
Kinnice
2022-02-17 10:07:20 +08:00
ws 连接,记录开始时间和 ws 断开时间。

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

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

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

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

© 2021 V2EX