cakephp:如果缓存太多页面

时间:2010-10-01 22:05:42

标签: cakephp caching

我想问:如果缓存太多页面10000页面被缓存。

10000页面创建10000文件缓存。 好吗?它可以创造缓慢?

4 个答案:

答案 0 :(得分:0)

我认为这不会减慢应用程序的速度。现代文件系统支持目录中的大量文件。问题是如果您手动列出所有这些文件的内容。

答案 1 :(得分:0)

缓存文件作为静态HTML存储在服务器上,而不是使用PHP创建的动态生成的HTML代码。

加载这些缓存文件比在运行时通过PHP编译器运行PHP代码要快得多。

唯一的问题可能是磁盘空间,因为缓存文件是服务器上的物理文件。如果正确使用,大多数缓存文件大小应该相对较小,所以这在具有足够资源的适当Web服务器上确实不应该是一个问题。

答案 2 :(得分:0)

缓存文件通常总是比运行PHP脚本更快,因为它们不需要处理 - 开销只是命中文件并检索它。

您对缓存的妥协是您的数据是否经常变化以保证使用文件缓存,以及用户是否需要访问始终最新的文件。

我不担心,嘿你可以随时关闭缓存 - 对吗?

答案 3 :(得分:0)

是的,但可能不重要

整页缓存文件都存储在同一文件夹中。这样缓存10k页,意味着在一个文件夹中有10k文件。它可能不会很重要,但随着缓存填满,应用程序性能将会降低。

另请注意,there's a limit to how many files you can store in a folder取决于驱动器格式,但一般来说,在达到限制时,性能已经受到显着影响。

如果没有必要,请不要使用视图缓存

即使是整页缓存也需要付费。正常的php请求是以下逻辑:

user -> internet -> webserver -> php -> (application logic)

使用完整页面视图缓存,这并没有太大变化:

user -> internet -> webserver -> php -> (read and render cache file)

如果缓存文件中没有动态内容,最好将内容存储为静态文件,并将响应移到用户附近:

user -> internet -> webserver -> static html file

html cache这样的插件通过将缓存视图存储为html文件并在调用php之前允许the webserver to handle requests来允许这样做。

这也意味着,根据为html文件发送的缓存标头,后续请求直接来自用户的浏览器缓存 - 而且你不能比这更快:

user -> user's browser cache