首页 理论教育PHPMVC开发实战:静态缓存配置

PHPMVC开发实战:静态缓存配置

【摘要】:ThinkPHP提供了HTML_CACHE_ON配置参数,用于设置是否开启静态缓存功能。所谓的静态缓存就是文件缓存,HTML_CACHE_RULES关联数组可以灵活地配置静态缓存的各种规则。上述代码中,演示了4种静态缓存模式。缓存有效期和附加规则都是可选参数,这里重点需要理解静态缓存规则。默认情况下静态缓存文件存放在home/Html目录下,通过配置参数HTML_PATH修改静态缓存文件存放目录。需要注意的是,开启静态缓存不仅需要正确配置HTML_CACHE_RULES选项,还必须开启HTML_CACHE_ON选项,两者缺一不可。

ThinkPHP提供了HTML_CACHE_ON配置参数,用于设置是否开启静态缓存功能。所谓的静态缓存就是文件缓存(ThinkPHP还提供了内存缓存、数据库缓存多种方式),HTML_CACHE_RULES关联数组可以灵活地配置静态缓存的各种规则。默认情况下,系统将使用md5的方式建立缓存,缓存规则可以方便地创建基于控制器名称,动作名称的缓存文件。缓存规则一旦配置好,系统会自动识别所需要缓存的页面。静态规则定义在缓存模式中,常见的缓存模式如以下代码所示。

上述代码中,演示了4种静态缓存模式。其中ActionName模式表示将根据所有控制器动作(方法)建立缓存;ModuleName将根据所有控制器建立缓存;ModuleName:ActionName将根据指定的控制器动作建立缓存;*表示通配模式,将建立全站静态缓存(所有能访问的页面)。

缓存有效期和附加规则都是可选参数,这里重点需要理解静态缓存规则。静态缓存规则将约束缓存文件的创建方式,以下代码即为简单的静态规则。

如以上代码所示,一共定义了两条静态规则。其中第1条将Content控制器中的Index动作建立静态缓存,静态缓存文件名将根据Get参数进行创建,最终访问http://tp.localhost/index.php/content/id/1页面时所创建的静态缓存文件名为content-1.html;第2条将根据Index控制器index动作创建静态缓存,当用户访问http://tp.localhost时,系统自动创建首页(index.html)缓存。

默认情况下静态缓存文件存放在home/Html目录下,通过配置参数HTML_PATH修改静态缓存文件存放目录。需要注意的是,开启静态缓存不仅需要正确配置HTML_CACHE_RULES选项,还必须开启HTML_CACHE_ON选项,两者缺一不可。要测试静态缓存,需要注意以下几个步骤。

➢关闭程序的调试模式,即在入口文件中设置define("APP_DEBUG",false),否则所有关于静态缓存的选项都将无效。(www.chuimin.cn)

➢如果是Linux平台需要手动在项目根目录下创建一个名为Html的目录,然后赋给读写权限。

➢相应的动作中必须要有输出模板(即使用$this->display()),并创建相应的模板文件。

➢在非调试模式下,ThinkPHP会生成预编译文件Runtime/~runtime.php,路由规则修改后需要手动删除该文件。

静态缓存能够有效提高页面的响应速度,尤其在大型网站中更是需要使用静态缓存功能,本节简单地介绍了静态缓存规则配置,更详细的缓存功能将在本书第10章进行介绍,在此读者只需要理解静态缓存的作用即可。