锵锵枪 wrote:
###树洞网热门文章实现 最近因为芒果台的一部电视剧,[树洞网](https://shudong.21du.cn) 突然小火了一把,访问量翻了几倍,于是打算增加点新功能。 ####热门文章 首先定义热门一般通过访问量、点赞👍数据、评论数几个维护计算一个值。 1)通过数据库查询实现,配合缓存。 一直不喜欢这个方式,主要是数据一多,查询相当慢。由于树洞网支持因为新浪mysql太贵,同时为了方便迁移。一直是采用的文本文件存储,所以这个方式行不通。 2)通过redis、memercache进行访问计数。然后算出日榜、周榜、月榜等 改动太大。感觉需要实现的东西太多。 3)Nginx日志 我觉得我还是太天才(nc),nginx access日志有现成的 访问记录、评论记录、投票记录。 写个python脚本 稍微加工分析下,各种榜单就出来了。再配合cron定时任务。perfect 于是树洞的热榜就诞生了,可以体验下 ,看看大家在树洞都关注什么htts://shudong.21du.cn/popular ####链接encode 每篇树洞的ID都是数字自增的,url也是通过id直接访问,看了后台的访问日志,网站应该都被趴了好多遍。bytes is easy for copy,没办法。 想了下,对访问ip频率限制,总感觉有误伤,体验不好。简单点提高点难度,对ID值进行hash ,这样爬站是不是比以前麻烦了。 新发布的树洞url 不再使用树洞ID访问了。 This done。
锵锵枪 2020-08-28 17:26:03  0 回复