我想写一个顶级文章系统。
我想按查看次数过滤一些内容(文章/等)。
如果我views=views+1
每次用户查看该链接时都插入数据库,我认为这很慢,而且这是一种不好的做法。
另一个这样做的网站的例子是 YouTube。它仅在特定时间间隔更新此表,因此视图不会实时更新。这是一个很好的做法吗?
我想写一个顶级文章系统。
我想按查看次数过滤一些内容(文章/等)。
如果我views=views+1
每次用户查看该链接时都插入数据库,我认为这很慢,而且这是一种不好的做法。
另一个这样做的网站的例子是 YouTube。它仅在特定时间间隔更新此表,因此视图不会实时更新。这是一个很好的做法吗?
您可以创建一个日志(简单的文本文件 / xml / Json ……)来存储视图计数并执行解析文件并将结果插入数据库的工作。
该作业可以按时间间隔运行或检查系统是否有空闲处理器。
在我看来,使用 RAM 存储敏感数据,因为这个计数(系统的重要部分)似乎有点不安全。
创建第二个视图表;您还可以使用第二个表来过滤“重复”视图(也由 cookie 支持 - 删除重复视图不是一个完美的操作)。
至于“慢”,我在许多用户众多的网站上都使用了这种方法。存储和聚合数据是数据库的工作,因此请使用它们的力量。
然后您可以使用第二张表来汇总视图,或者定期汇总数据并将运行总计存储在主表中,清除第二张表以节省空间。我通常保留所有数据,但为了速度而士气低落。