ホームページ >php教程 >php手册 >もう一度cache_liteを勉強してください

もう一度cache_liteを勉強してください

WBOY
WBOYオリジナル
2016-06-13 12:33:17992ブラウズ

晚上详细的看了下cache_lite,功能比我想象中的强大的多。当然目前我还没有发现它是否支持直接保存PHP代码来缓存的功能,不过我想应该是可以扩展实现的。

 这里有几个例子:

<span style="COLOR: #000000"><br><span style="COLOR: #0000bb"><? <BR></SPAN><SPAN style="COLOR: #007700">require_once(</SPAN><SPAN style="COLOR: #dd0000">'../libs/cache/Lite.php'</SPAN><SPAN style="COLOR: #007700">); <br><br></SPAN><SPAN style="COLOR: #0000bb">$options </SPAN><SPAN style="COLOR: #007700">= array( <BR> </SPAN><SPAN style="COLOR: #dd0000">'cacheDir' </SPAN><SPAN style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">'../cache/test/'</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'fileLocking' </span><span style="COLOR: #007700">=></span><span style="COLOR: #0000bb">true</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'writeControl'</span><span style="COLOR: #007700">=></span><span style="COLOR: #0000bb">true</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'readControl'</span><span style="COLOR: #007700">=></span><span style="COLOR: #0000bb">false</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'fileNameProtection'</span><span style="COLOR: #007700">=></span><span style="COLOR: #0000bb">false</span><span style="COLOR: #007700">,</span><span style="COLOR: #ff8000">//关闭文件名安全模式。cache id和组名将直接应用到 cache文件的文件名,所以要小心使用特殊字符. <br>    </span><span style="COLOR: #dd0000">'automaticSerialization'</span><span style="COLOR: #007700">=></span><span style="COLOR: #0000bb">false</span><span style="COLOR: #007700">,</span><span style="COLOR: #ff8000">//关闭自动序列 <br>    </span><span style="COLOR: #dd0000">'hashedDirectoryLevel'</span><span style="COLOR: #007700">=></span><span style="COLOR: #0000bb">2</span><span style="COLOR: #007700">,</span><span style="COLOR: #ff8000">//设置两级缓存路径 <br>    </span><span style="COLOR: #dd0000">'lifeTime' </span><span style="COLOR: #007700">=> </span><span style="COLOR: #0000bb">60 <br></span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$Cache </span><span style="COLOR: #007700">= new </span><span style="COLOR: #0000bb">Cache_Lite</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$options</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$id</span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">'test'</span><span style="COLOR: #007700">; <br>if(</span><span style="COLOR: #0000bb">$data</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">$Cache</span><span style="COLOR: #007700">-></span><span style="COLOR: #0000bb">get</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$id</span><span style="COLOR: #007700">,</span><span style="COLOR: #dd0000">'test'</span><span style="COLOR: #007700">)){ <br>   echo </span><span style="COLOR: #0000bb">$data</span><span style="COLOR: #007700">; <br>}else{ <br>   </span><span style="COLOR: #0000bb">$data</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">time</span><span style="COLOR: #007700">(); <br>   </span><span style="COLOR: #0000bb">$Cache</span><span style="COLOR: #007700">-></span><span style="COLOR: #0000bb">save</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$data</span><span style="COLOR: #007700">); <br>   echo </span><span style="COLOR: #0000bb">$data</span><span style="COLOR: #007700">; <br>} <br></span><span style="COLOR: #0000bb">?> <br></span></span>


  对输出进行缓存
<span style="COLOR: #000000"><br><span style="COLOR: #0000bb"><? <BR></SPAN><SPAN style="COLOR: #007700">require_once(</SPAN><SPAN style="COLOR: #dd0000">'../libs/cache/Lite.php'</SPAN><SPAN style="COLOR: #007700">); <BR>require_once(</SPAN><SPAN style="COLOR: #dd0000">'../libs/cache/Lite/output.php'</SPAN><SPAN style="COLOR: #007700">); <BR></SPAN><SPAN style="COLOR: #0000bb">$options </SPAN><SPAN style="COLOR: #007700">= array( <BR> </SPAN><SPAN style="COLOR: #dd0000">'cacheDir' </SPAN><SPAN style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">'../cache/test/'</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'lifeTime' </span><span style="COLOR: #007700">=> </span><span style="COLOR: #0000bb">60</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'pearErrorMode' </span><span style="COLOR: #007700">=> </span><span style="COLOR: #0000bb">CACHE_LITE_ERROR_DIE <br></span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$cache </span><span style="COLOR: #007700">=new </span><span style="COLOR: #0000bb">Cache_Lite_Output</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$options</span><span style="COLOR: #007700">); <br><br>if (!(</span><span style="COLOR: #0000bb">$cache</span><span style="COLOR: #007700">-></span><span style="COLOR: #0000bb">start</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">'id_of_the_page'</span><span style="COLOR: #007700">))) {  <br>    </span><span style="COLOR: #ff8000">// 没有发现Cache ! <br>    </span><span style="COLOR: #007700">echo </span><span style="COLOR: #dd0000">'test time:'</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">time</span><span style="COLOR: #007700">().</span><span style="COLOR: #dd0000">'<br>test<br>'</span><span style="COLOR: #007700">; <br>    </span><span style="COLOR: #0000bb">$cache</span><span style="COLOR: #007700">-></span><span style="COLOR: #0000bb">end</span><span style="COLOR: #007700">(); </span><span style="COLOR: #ff8000">// 缓冲的输出现在被存储到一个cache文件中  <br></span><span style="COLOR: #007700">} <br><br></span><span style="COLOR: #0000bb">?> <br></span></span>


对関数数进行缓存
<span style="COLOR: #000000"><br><span style="COLOR: #0000bb"><? <BR></SPAN><SPAN style="COLOR: #007700">require_once(</SPAN><SPAN style="COLOR: #dd0000">'../libs/cache/Lite.php'</SPAN><SPAN style="COLOR: #007700">); <BR>require_once(</SPAN><SPAN style="COLOR: #dd0000">'../libs/cache/Lite/Function.php'</SPAN><SPAN style="COLOR: #007700">); <BR></SPAN><SPAN style="COLOR: #0000bb">$options </SPAN><SPAN style="COLOR: #007700">= array( <BR> </SPAN><SPAN style="COLOR: #dd0000">'cacheDir' </SPAN><SPAN style="COLOR: #007700">=> </span><span style="COLOR: #dd0000">'../cache/test/'</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'lifeTime' </span><span style="COLOR: #007700">=> </span><span style="COLOR: #0000bb">3600</span><span style="COLOR: #007700">, <br>    </span><span style="COLOR: #dd0000">'pearErrorMode' </span><span style="COLOR: #007700">=> </span><span style="COLOR: #0000bb">CACHE_LITE_ERROR_DIE <br></span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$cache </span><span style="COLOR: #007700">= new </span><span style="COLOR: #0000bb">Cache_Lite_Function</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$options</span><span style="COLOR: #007700">); <br><br></span><span style="COLOR: #0000bb">$cache</span><span style="COLOR: #007700">-></span><span style="COLOR: #0000bb">call</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">'function_to_bench'</span><span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">12</span><span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">45</span><span style="COLOR: #007700">); <br><br>function </span><span style="COLOR: #0000bb">function_to_bench</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$arg1</span><span style="COLOR: #007700">, </span><span style="COLOR: #0000bb">$arg2</span><span style="COLOR: #007700">)  <br>{ <br>    echo </span><span style="COLOR: #dd0000">"This is the output of the function function_to_bench($arg1, $arg2) !<br>"</span><span style="COLOR: #007700">; <br>    return </span><span style="COLOR: #dd0000">"This is the result of the function function_to_bench($arg1, $arg2) !<br>"</span><span style="COLOR: #007700">; <br>} <br></span><span style="COLOR: #0000bb">?> <br></span></span>require_once('../libs/cache/Lite.php');

require_once(
'../libs/cache/Lite/Function.php') ; <🎜>$options = array( <🎜> 'cacheDir' => '../cache/test/ ''lifeTime' => 3600, 'pearErrorMode' => CACHE_LITE_ERROR_DIE ); $cache = 新規 Cache_Lite_Function($options); $cache->call('function_to_bench',12,45); 関数 function_to_bench($arg1, $arg2) { echo 「これは関数 function_to_bench($arg1, $arg2) の出力です!
; return 「これは関数 function_to_bench($arg1, $arg2) の結果です!
; } ?>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。