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

Dan*_*Dan 10 php mysql caching

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

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

如果从文件而不是数据库读取/写入更快,更少服务器负担,我将切换到那.有谁知道哪种更快/最佳做法?

Den*_*rdy 7

如果从文件而不是数据库读取/写入更快,更少服务器负担,我将切换到那.有谁知道哪种更快/最佳做法?

最快的是使用静态文件,因为您甚至可以在不启动PHP(使用RewriteRules)的情况下发出缓存.但是,如果你有多个前端,它将无法正确缩放.

下一个最好的事情是将它存储在内存中,例如使用Memcache.

最不可取的是使用SQL.如果你坚持使用它,至少可以使用内存存储引擎或等效的硬盘驱动器(例如,如果你正在使用PostgreSQL,存储在RAM磁盘上的表空间中存在未记录的表).