【发布时间】:2014-07-16 23:17:03
【问题描述】:
我确信有很多此类主题的教程,但我找不到我想要的,因为我不知道它的行话。所以我问 StackOverflow。
这里是例子:
人们可以喜欢或不喜欢 Youtube 上的视频,并且数据库应该更新喜欢或不喜欢的计数。然而,每次用户点击喜欢/不喜欢按钮时更新数据库是不切实际的,尤其是对于像 Youtube 这样的网站。
我们如何在一个时间间隔内缓存查询/计数数字,并且当时间到期时我们一次发送所有查询/更新数据库?或者针对这种情况的任何类似技术?
【问题讨论】:
-
更新数据库有什么不切实际的?这就是数据库的用途。 - 或者,您可以将like/disklike 按钮链接到 GET 或 POST 请求,并定期扫描服务器日志文件。但我怀疑这在运行时或编程工作方面会更有效。
-
我只是在想我们可以在更新记录之前缓存 300 或更多的喜欢/不喜欢。因为这似乎是 reddit 和其他网站正在做的事情。
-
你将创造比解决更多的问题。如果缺乏性能,只需尝试简单的数据库方法并添加一些硬件。此外,其他网站可能会缓存其网站页面并定期重新构建它们,但不一定是相关的数据库条目。
-
请务必使用允许行级锁定的数据库架构(例如 innoDB)进行此类写入密集型操作。
标签: mysql sql database caching