这似乎是一个明确的问题;但我无法找到明确的答案。考虑一个带索引ID的简单mysql数据库;没有任何复杂的过程。只是用WHERE子句读取一行。它真的需要缓存吗?减少mysql查询显然满足每一个。但我测试了从平面缓存文件中读取文本,并通过mysql查询在1到100,000个周期的for循环中进行测试。从平面文件读取只有1-2倍(但需要双倍内存)。 CPU使用率(通过SSH中的顶部粗略估计)几乎相同。
现在我没有看到任何使用平面文件缓存的原因。我对吗?或者案例长期不同?什么可能在这么简单的系统中慢慢查询?减少mysql查询仍然有用吗?
P.S。我不讨论内部质量控制或像memcached这样的系统。
答案 0 :(得分:0)
取决于您如何看待问题。
任何时候都可以建立mysql连接数限制 在繁忙的站点中保存mysql连接资源可能会导致最大连接错误。
通过TCP建立与mysql的连接是资源使用者(如果您的数据库位于不同的服务器中)。在这种情况下,访问本地磁盘文件会快得多。
如果您的服务器位于网络外,物理距离的成本会更高。
如果记录每天更新一次,则存储到缓存中的确是一次请求并在当天重复使用。