PHP 缓存 - 保存在数据库中还是创建文件更快?

标签 php mysql caching

我目前正在缓存动态生成的 PHP 页面,方法是将它们保存到具有到期时间字段的数据库中。如果再次请求该页面,程序会检查该页面的未过期缓存版本以提供服务,并且仅在找不到该页面时重新生成该页面。

这很好用 - 但是它会减少服务器的负载以将缓存页面保存为文件而不是保存到数据库吗?我可以在文件中使用命名约定来处理到期时间。

如果从文件而不是数据库读取/写入数据更快且服务器负担更少,我将切换到它。有谁知道哪个更快/最佳实践?

最佳答案

If it is faster and less server taxing to read/write from a file instead of a database, I'll switch to that. Does anyone know which is faster / best practice?

最快的是使用静态文件,因为这样您甚至无需启动 PHP(使用 RewriteRules)就可以发布缓存。但是,如果您有多个前端,它将无法正确缩放。

下一个最好的办法是将它存储在内存中,使用 Memcache例如。

最不推荐的是使用 SQL。如果您坚持使用它,至少可以通过使用内存存储引擎或类似的东西来帮您的硬盘驱动器一个忙(例如,如果您使用的是 PostgreSQL,则位于存储在 RAM 磁盘上的表空间中的未记录表)。

关于PHP 缓存 - 保存在数据库中还是创建文件更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6053394/

相关文章:

java - 使用ehcache来处理文件处理

java - 使用 Spring KeyGenerator 生成唯一的缓存 key 不起作用

php - Mysql 查询帮助 - 更改此 mysql 查询以获得这些结果?

php - 我的 PHP 代码在语法上有问题吗?提交后页面变为空白

javascript - Ckeditor 删除特定插件?

php - 从表1中获取id与表2匹配

php - 我需要安装php5-mysql吗

php - mysql 数据库连接

javascript - 控制Apache中更改js和CSS文件的浏览器缓存的最佳方法?

php - Laravel 消费者和提供者应用架构