【发布时间】:2016-10-13 23:29:44
【问题描述】:
我有一个 HTML 主页,它对 PHP 文件进行了一些 Ajax 调用(大约 10 次)。
PHP 从不同的网站(通过file_get_contents)获取一些数据并将其输出为 JSON。输出的平均长度为 4000 个字符。为了不使我的服务器向网站发出的请求数量过多,我想将相同查询的响应缓存 30-60 分钟。
HTML 主页包含一个搜索输入,因此基本上可以编写任何内容,而且我可能需要有很多不同的缓存文件。 在这种情况下,数据库存储(MySQL)还是文件,哪种方法效率更高?
【问题讨论】:
-
数据库比磁盘快。 Redis 或 memcache 比数据库快。
-
如果您需要认真实现缓存持续时间,请考虑使用内置此功能的 Redis,而不是重新发明轮子。
-
@jszobody 假设磁盘速度相同,读取文件肯定比查询数据库快。特别是如果服务器有足够的空闲 RAM 用于页面缓存。但是,出于可扩展性的考虑,redis 或 memcache 将是理想的选择。
-
@Devon 是的,我想如果 OP 为每个搜索词存储一个文件,并且永远不需要进行部分匹配或查询缓存数据的内容......文件系统可能运行良好.相当有限,如果 OP 想要做更多的事情,显然会成为性能问题。
标签: php mysql database caching