【问题标题】:PHP caching dynamically constructed filesPHP缓存动态构造的文件
【发布时间】:2011-10-22 16:33:42
【问题描述】:

我目前正在开发一个基于 MVC 模式的小型个人 Web 应用程序框架。在这个框架中,一些页面和模板是由多个文件动态构建的。但是,尤其是这些模板不会经常更改,所以我想创建某种形式的缓存。理想情况下,我只想在更改原始源文件时更新缓存文件,并且我想在更改某个源文件后的第一个请求时更新缓存文件。但是由于 1 个缓存文件是由多个源文件构成的,所以我需要一些方法来知道哪些源文件属于某个缓存文件,所以我知道哪些文件需要检查更新。

我想到了使用数据库中的表或保存该信息的单独文件的想法。但是,这需要在每个页面请求上产生一些额外的开销,因为我必须再读取一个文件,否则我将不得不做一些数据库 IO。我可以使用其他任何技术来尽可能减少开销吗?

ps。缓存并不是真正需要的,因为我只会将它用于服务器上的几个小网站,这对于这些网站来说太强大了。不过,我认为更习惯于缓存技术对我来说是一个好习惯。

【问题讨论】:

  • 只有在真正需要时才从缓存开始。否则无法具体说明哪些需要缓存,哪些不需要。
  • 编写一个函数来“重新编译”您动态创建的文件并将输出保存到.html 文件或其他文件中,然后在您更新其中一个文件时运行该脚本。
  • @Hakre - 但是你不认为在你真正需要它之前变得更舒服是一个好主意吗?我认为对我来说,在我不能真正搞砸的小规模环境中练习这些事情比在不允许错误的关键环境中尝试新事物更好。
  • @JaredFarrish - 这可能是个好主意!也许我可以创建一个脚本,当我使用 ftp 更新某些文件时会自动调用它。

标签: php caching


【解决方案1】:

也许看看 PHP APC,您可以为您的模板创建 SHA1 哈希并将它们存储在缓存中,并具有较长的过期时间。当事情发生变化时,您可以在缓存中创建标志,并从缓存和文件系统中检索文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多