在PHP中仅缓存页面的一部分
是否可以仅在
PHP中缓存页面的特定部分,或者在
PHP脚本中缓存特定代码段的输出?似乎当我尝试缓存特定页面时,它会缓存整个页面,这不是我想要的,我的页面中的一些内容应该在每个页面加载时更新而其他页面(例如包含来自数据库的数据的下拉列表) )每小时左右只需更新一次.
Zend_Cache是
我可能会使用Zend Frameworks Zend_Cache库. 您可以使用此组件而无需使用整个框架. 跳到Zend Framework Download Page并抓住最新的. 下载核心文件后,您需要在项目中包含Zend_Cache. 您是否已决定如何缓存数据?你在使用文件系统吗?或者你是memcache?一旦知道了要使用的内容,就需要使用特定的Zend_Cache后端. Zend_Cache后端/ Zend_Cache前端 >您需要使用后端(如何在存储中缓存您想要缓存的内容)和 后端文档:Zend_Cache Backends 所以你会做这样的事…… <?php // configure caching backend strategy $backend = new Zend_Cache_Backend_Memcached( array( 'servers' => array( array( 'host' => '127.0.0.1','port' => '11211' ) ),'compression' => true ) ); // configure caching frontend strategy $frontend = new Zend_Cache_Frontend_Output( array( 'caching' => true,'cache_id_prefix' => 'myApp','write_control' => true,'automatic_serialization' => true,'ignore_user_abort' => true ) ); // build a caching object $cache = Zend_Cache::factory( $frontend,$backend ); 这将创建一个使用Zend_Cache_Frontend_Output缓存机制的缓存. 要使用你想要的Zend_Cache_Frontend_Output,它将是simple.你将使用输出而不是核心.您传递的选项是相同的.然后使用它你会: Zend_Cache_Frontend_Output – 用法 // if it is a cache miss,output buffering is triggered if (!($cache->start('mypage'))) { // output everything as usual echo 'Hello world! '; echo 'This is cached ('.time().') '; $cache->end(); // output buffering ends } echo 'This is never cached ('.time().').'; 有用的博客:http://perevodik.net/en/posts/14/ 对不起,这个问题花了比预期更长的时间,写了很多答案! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |