【问题标题】:How to use Cache_Lite for memory Caching如何使用 Cache_Lite 进行内存缓存
【发布时间】:2013-02-04 19:37:07
【问题描述】:

如何使用Cache_Lite进行内存缓存?在document of constructor Cache_Lite::Cache_Lite,有一个选项“memoryCaching”:启用/禁用“Memory Caching”(注意:内存缓存没有生命周期,只有脚本结束)

没有如何使用它的示例。我需要设置cacheDir吗?怎么用?

【问题讨论】:

  • 与简单地在某处存储数据数组有何不同?一个带有静态对象的类,甚至只是一个全局变量,都可以做到这一点,而没有任何明显的复杂性。
  • 完全不同。例如,您不能在多个请求之间共享相同的数据。

标签: php caching memorycache


【解决方案1】:

我不会再使用这个类了。如果你看一下源代码,里面有很多不好的东西,最重要的是它是为 PHP 4 编写的,就像许多 PEAR 类一样。

研究内存缓存功能,我发现它只是一个数组,用于存储先前从当前请求中的文件缓存中获取的任何结果。因此,您不会像 Memcached 或 APC 那样获得持久内存缓存。代码中有一条注释指出内存缓存功能应被视为“测试版”质量。

代码的描述声称缓存速度很快,但我对此表示怀疑。对clearstatcache() 的多次调用实际上会破坏任何文件系统的性能,只是因为需要获取最新的filemtime() 而不是将此信息写入文件中的缓存数据。

如果您正在寻找更新的缓存解决方案,请查看 APC(可能在您的主机上作为操作码缓存提供)或 Memcached,几乎没有更多的实施开销。如果您需要基于文件的缓存,请找出您可能使用的任何框架是否为您提供了一些东西。或者做一个快速的谷歌搜索,结果可能是这样的:https://github.com/cosenary/Simple-PHP-Cache(不是我推荐这门课)。

【讨论】:

  • 谢谢斯文!实际上我的服务器现在只支持 SUPHP 但不支持 FastCGI。恐怕我不能使用 APC/Memcached。对于 github.com/cosenary/Simple-PHP-Cache ,据说“这仍然是 Alpha 版本!”。我没有在我的项目中使用任何具有缓存功能的框架。我不确定是否应该在 PHP 5 下使用 Cache_Lite?
  • 我快速搜索了 SUPHP,我很反感。 :) 这个项目在几年前已经看到了它的最后一次更新。您正在使用哪个 PHP 版本?如果它仍然是 PHP 4,那么您可能只有很少的不同选项。不过,我强烈建议换个主机。
猜你喜欢
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
  • 2012-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
相关资源
最近更新 更多