<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="分析PHP中常见的缓存技术实例" id="card1">
<p> 游客</p><p>
标题:分析PHP中常见的缓存技术实例<br/>
正文:<br/>
JBLOG在开发的过程中，对性能的优化做了不少工作。为了尽量减少不必要的数据库查询，我对一些数据进行了缓存和静态化处理。缓存的原理：把一些经常要用到但又很少改动的数据以数组或其它形式存储到一个独立的PHP文件中，然后在需要用到的时候包含进来。缓存的优点：能够大大减少数据库的查询次数，减轻数据库的压力，提高程序的执行效率。JBLOG缓存的数据有：系统设置、博客分类、侧栏最新日志、最新评论、博客统计、日志归档、友情链接、标签等。通过缓存这些数据，执行一次页面数据库的查询次数从十几次减少到3次。JBLOG中与缓存相关的函数保存在include目录下的cache.func.php里，主要函数：//刷新缓存<br/>function recache($cachestr = '') {<br/>if (!$cachestr) {<br/> $cachelist = array('config','class','archive','newcomment','newpost','link','tag','statistic','topblog');<br/>} else {<br/> $cachelist = explode(',',$cachestr);<br/> foreach ($cachelist as $cache) {<br/>  $cachename = $cache.'_recache';<br/>  if (function_exists($cachename)) {<br/>  $cachename();<br/>  }<br/> }<br/>}<br/>}recache()函数用来刷新缓存，每一个缓存以独立的函数存在，刷新缓存时仅需执行一次相应的函数即可。//将字符串写进文件<br/>function writeToFile($cachename,$content = '') {<br/>$allowcache = $cachelist = array('config','class','archive','newcomment','newpost','link','tag','statistic','topblog');<br/>if (in_array($cachename,$allowcache)) {<br/> $cache_dir = JBLOG_<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2233&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2233&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2233&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2233&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2233&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2233">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2233">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>