phpcms缓存使用总结(memcached、 eaccelerator、 shm)A template compilation cache
Reference documents include/globalfuncphp andinclude/templatefuncphp
The principle of template cache is simple if the template isfirst compiled directly compile it, if not the first is tocompile the template file ($tplfile) and template cache file($compiledtplfile) modify time if the template cache filemodification time is greater than the compiled template fileis compiled template or not compile the template to improve theprogram' s execution efficiency
Copy code
The code reads as follows:
Function template ($module = phpcms, $template = index){
G lobal $CONFI G;
$compiledtplf ile =
$CONFIG[templatescachedir]$module_$templatetplphp;
If ($CONFIG[templaterefresh] )
{
$tplfile =
PHPCMS_ROOT/t emp lat es/$CONFIG[defaul ttempl ate]/$module/$t emplatehtml;
If ( ! File_exists ($compiledtplfile) | | @filemtime
($tplfile) > @filemtime ($compiledtplfile) )
{
Require_once PHPCMS_ROOT/inc lude/templatefuncphp;
Template_refresh ($tplfile, $compiledtplfile) ;
}
}
Return $compiledtplfile;
}
B generates static cache files within a dynamic page
Similar to the caching principle of C, the name of the filegenerated here is relatively fixed
Take the question module as an example
For access
This directory contains indexphp files in the current directory
to determine whether there is a file called index_cachehtml if
there is no failure period directly to include this file orPrivate Const SMART_Iwww.qushu6.comNVALID_BUFFER As dynamicLong =4 "Bad buffer (null invalid addr. . ) read after the datasaved as index_cachehtml file for the next use.
What is in the file indexphp?
Copy code
The code reads as follows:
"PHP?
Require_once /include/commonincphp;
$lastedittime = @filemtime (index_cachehtml) ;
$lastedittime = $PHP_TIME$lastedittime;
$autoupdatetime = intval ($MOD[autoupdate] ) ;
//$MOD[autoupdate] comes from the contents of the cache filedata/cache/wenba_settingphp
If (file_exists (index_cachehtml) & &
$lastedittime<$autoupdatetime)
{
Echo "include cache file"";
Include index_cachehtml;
}
Else
{
Echo "read dynamic page"";
>?
How to determine whether the file is invalid, filedata/cache/wenba_settingphp has the following settings, inwhichthe value of the fieldAutoUpdate is the file failure time,unit is seconds, in the background can be set
The file wenba_settingphp is going to come from it are installedautomatically when the various modules of the data saved to thedatabase installation generated when the cache data in theinclude/commonincphp cache_all function can also generatebackground cache settings when cache will be automaticallyupdated
Copy code
The code reads as follows:
"PHP?
Return array (. . .
Higth_score = >
Anybody_score = >
Answer_give_credit = >
Vote_give_credit = >
Highscore = >
Vote_give_actor</p> <p> </p>=>white-collar workers <p> </p><p> won the imperial wizard generals </p> <p> vagabondAutoUpdate = >
Name = > a s k.
Moduledir = > Wenba
Moduledomain = >
Linkurl = > /opensource/phpcms_sp_gbk/phpcms/wenba/
) ;
>?
Include/globalfuncphp
Update module settings function
Copy code
The code reads as follows:
Function module_setting ($module $setting)
{
G l ob al $db$MODULE$LANG;
If ( ! Is_array ($setting) | | ! Array_key_exists
($modul e$MODULE) ) return FALSE;
If (isset ($setting[moduledomainPrivate, Const,
MAX_IDE_DR IVESwww.mnmm8.c omAs, Long=, Max, number, of, driv es,assuming, primary/secondary, master/slave, topology])){
$moduledomain = $setting[moduledomain] ;
$db>que ry ("UPDATE", "TAB LE_MOD ULE", "S ET,moduledomain=$modul edomai n, WHERE, module=$modul e") ;
Unset ($setting[moduledomain]) ;
}
$setting = addslashes (serialize (new_stripslashes
($setting) )) ;
Will / more than one set of values for a module. After arrayserialization is stored in a field in setting
$db>que ry ("UPDATE", "TABLE_MODULE", "S ET, s et t i n g=$s et t i n g,WHERE, modul e=$modu l e") ;
Cache_module ($module) ;
Cache_common () ;
Return TRUE;
}
C generates static cache files within a dynamic page
With the principle of B is similar to the cache file name isgenerated according to the calculated $PHP_SELF and
$PHP_QUERYSTRING value of MD generated file name relative toall PHP dynamic pages are the same thought classic comparisonshould be signed by
Take the question module as an example
The file call order is indexphp> jsphp >adphp> globalfuncphpFor access
This directory contains indexphp files in the current directoryto determine whether there is a file called index_cachehtml
directly if this file is included if it doesnot exist this fileare dynamically read after the data stored in theindex_cachehtml file for the next use.
When accessing the above URL, the page contains the followingline of JS code
<script language=, "JavaScript",
"/opensource/phpcms_sp_gbk/phpcms/data/jsphp", "id=",src=, ></script>
This JS code is actually a dynamic call to the content of thePHP page
The contents of the jsphp file:
Copy code
The code reads as follows:
"PHP?
Chdir (/ads/) ;
Require /adphp;
>?
Adphp content
Copy code
The code reads as follows:
"PHP?
D ef i ne (SHOWJS) ;
Require /include/commonincphp;
Require MOD_ROOT/include/globalfuncphp; </p> <p>$placeid =i ntval ($i d) ; </p> <p>$qu ery = "SELECT * FROM" TABLE_ADS "ASa LEFT"JOIN"TABLE_ADS_PLACE AS P ON(aplaceid=pplaceid) WHEREaplacei d=" $p laceid "AND afromdate<=UNIX_TIMESTAMP (AND)atodate>=UNIX_TIMESTAMP (AND) ppassed= AND apassed= ANDachecked= ORDER BY aaddtime";
$ads = $db>ge t_one ($query "CAHCE") ;
I f ( ($ads) ex it (documentwri te (")") ; </p>, <p>$db>query("UPDATE", "SET, views=views+, WHERE, adsid=", $ads[ads id] ) ;</p> <p>$content = ads_content ($ads) (TABLE_ADS) ;
$templateid = $ads[templateid]? $ads[templateid] : ads;Include template (ads $templateid) ;
Phpcache () ;
>?
Adphp which calls the phpcache function reference file
BuyVM商家算是一家比较老牌的海外主机商,公司设立在加拿大,曾经是低价便宜VPS主机的代表,目前为止有提供纽约、拉斯维加斯、卢森堡机房,以及新增加的美国迈阿密机房。如果我们有需要选择BuyVM商家的机器需要注意的是注册信息的时候一定要规范,否则很容易出现欺诈订单,甚至你开通后都有可能被禁止账户,也是这个原因,曾经被很多人吐槽的。这里我们简单的对于BuyVM商家新增加的迈阿密机房进行简单的测评。如...
[六一云迎国庆]转盘活动实物礼品美国G口/香港CTG/美国T级超防云/物理机/CDN大促销六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,...
Webhosting24是一家始于2001年的意大利商家,提供的产品包括虚拟主机、VPS、独立服务器等,可选数机房包括美国洛杉矶、迈阿密、纽约、德国慕尼黑、日本、新加坡、澳大利亚悉尼等。商家VPS主机采用AMD Ryzen 9 5950X CPU,NVMe磁盘,基于KVM架构,德国机房不限制流量,网站采用欧元计费,最低年付15欧元起。这里以美国机房为例,分享几款套餐配置信息。CPU:1core内存...