帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[原创]帝国CMS灵动标签查询缓存(支持memcached缓存){支持帝国CMS7.0|7.2版} 【本版专题贴子】  
 1/8     1 2 3 4 5 6 7 8 ›› ›|
主题:[原创]帝国CMS灵动标签查询缓存(支持memcached缓存){支持帝国CMS7.0|7.2版} [加入收藏夹]   

5160387
用户头衔:进士

精华贴   :0
发贴数   :702
经验值   :2538
注册时间:2012-12-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]帝国CMS灵动标签查询缓存(支持memcached缓存){支持帝国CMS7.0|7.2版}
帝国CMS灵动标签缓存设置(支持memcached缓存)
本文关键字词:灵动标签,灵动标签缓存,帝国CMS缓存

本函数能实现灵动标签缓存功能, 使用方法:传入生成的灵动标签部分,缓存时间秒,缓存类型。其他部分和灵动标签一样的使用


灵动标签缓存插件连接:http://bbs.phome.net/showthread-31-324579-0.html
百度编辑器插件:http://bbs.phome.net/showthread-31-324291-0.html
无限联动2.0版插件:http://bbs.phome.net/showthread-31-324563-0.html
自定义伪静态插件:http://bbs.phome.net/showthread-31-325069-0.html
栏目批量修改是否生成:http://bbs.phome.net/showthread-31-325076-0.html




Userfun.php代码:

/****************帝国CMS灵动标签缓存*******************/
function YL_User_Cache($bq,$expire=3600,$type='file'){
global $empire,$public_r;
if (!$type){
$type=$public_r['add_cache'];
}
$expire=(int)$expire;
$cmd5='yl_'.md5(serialize($bq));//yl_是缓存前缀
$data=array();//返回的数组
if($type=='file'){
$cname=$cmd5.'.php';//缓存名称
$cdir=ECMS_PATH.'d/Cache/'.esub(md5($cname),1).'/';//缓存路径
$path=$cdir.$cname;//完整路径
createDir($cdir);//创建文件夹
$head="<?php if(!defined('InEmpireCMS')){exit();}?>";//安全头部
if(file_exists($path) && time()-filemtime($path)<$expire){//读取缓存内容
$filecont=str_replace($head, '', file_get_contents($path));
$data=unserialize($filecont);
}
}elseif($type=='memcache'){
$memcache = @memcache_connect('localhost', 11211);//连接memcache
if ($memcache) {
$ismemcache=1;
$memdata=$memcache->get($cmd5);
$data=unserialize($memdata);
if($data){
$memcache->close();
}
}
}
if(!$data){
$bqno=0;
$ecms_bq_sql=sys_ReturnEcmsLoopBq($bq[0],$bq[1],$bq[2],$bq[3],$bq[4],$bq[5]);
if($ecms_bq_sql){
while($bqr=mysql_fetch_array($ecms_bq_sql,MYSQL_ASSOC)){
$bqsr=sys_ReturnEcmsLoopStext($bqr);
$bqno++;
$data[$bqno]=array('bqsr'=>$bqsr,'bqr'=>$bqr);
}
}
if($type=='file'){
file_put_contents($path, $head.serialize($data));//写入缓存文件
}elseif($type=='memcache' && $ismemcache==1){
$memcache->set($cmd5, serialize($data),FALSE,$expire);
$memcache->close();
}
}
return $data;
}
//检查并创建文件夹
function createDir($path){
if (!file_exists($path)){
createDir(dirname($path));
mkdir($path,0777);
}
}



模版中使用:

/*
* 灵动标签查询缓存
* 传入生成的灵动标签部分,缓存时间秒,缓存类型$type='file'为文件缓存,$type='memcache'为memcache缓存)
* 模版中使用方法如下:
*/
<?
$shujv=YL_User_Cache(array(灵动标签代码),缓存时间,'缓存类型');//缓存时间为秒
foreach($shujv as $k=>$v){
?>
<li><a href="<?=$v[bqsr][titleurl]?>"><?=$v[bqr][title]?></a></li>
<?
}
?>



例子1:(调用下载模型下的10条数据,并且使用memcache缓存)

<?php
$shujv=YL_User_Cache(array('download',10,21,0,'','plnum DESC'),10,'memcache');
foreach($shujv as $k=>$v){
?>
<li><a href="<?=$v[bqsr][titleurl]?>"><?=$v[bqr][title]?></a></li>
<?
}
?>


例子2:(调用下载模型下的10条数据,使用文件缓存)

<?php
$shujv=YL_User_Cache(array('download',10,21,0,'','plnum DESC'),10,'file');
foreach($shujv as $k=>$v){
?>
<li><a href="<?=$v[bqsr][titleurl]?>"><?=$v[bqr][title]?></a></li>
<?
}
?>


文件缓存生成于/d/Cache/下,如有需求自行修改为自己的。

更多使用请自行研究拓展。本小插件仅作抛砖引玉。


更新日志:

2014/11/17 增加memcached缓存支持
2014/11/25 缓存小BUG修改:$cdir=ECMS_PATH.'d/Cache/'.esub(md5($cname),1).'/';//缓存路径
2015/06/12 修复一些其他不兼容的BUG 更完美



相关链接:帝国CMS灵动标签查询缓存http://www.phpin.net/thread-216-1-1.html

上传以下附件:
[下载 *.txt](文件大小:2.37 KB,下载次数:211)

[该贴被修改 17 次,最后修改时间 2015-06-16 11:03:36 ]


帝国教程/插件/二开/PHP知识网:www.phpin.net
免费无弹窗小说网:www.zhaibei.com
穿衣打扮网:www.nvziba.com
2014-11-14 14:19:37 已设置保密 顶部 回复 引用 报告 编辑 删除

5160387
用户头衔:进士

精华贴   :0
发贴数   :702
经验值   :2538
注册时间:2012-12-20
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

占位编辑 有问题或者使用BUG请跟帖说明



帝国教程/插件/二开/PHP知识网:www.phpin.net
免费无弹窗小说网:www.zhaibei.com
穿衣打扮网:www.nvziba.com
2014-11-14 14:22:30 已设置保密 顶部 回复 引用 报告 编辑 删除

刚出道的小菜鸟
用户头衔:秀才

精华贴   :0
发贴数   :86
经验值   :463
注册时间:2014-07-28
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

占位



php合肥交流群:40915072
2014-11-14 14:23:31 已设置保密 顶部 回复 引用 报告 编辑 删除

majingxiang
用户头衔:举人

精华贴   :0
发贴数   :101
经验值   :681
注册时间:2010-05-18
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持下~



帝国cms 插件/模板交流群 212407736
帝国商城模板 http://www.ecmsshop.com
后台模板 http://bbs.phome.net/ShowThread/?threadid=304059&forumid=13
帝国会员中心 http://bbs.phome.net/ShowThread/?threadid=304218&forumid=13
QQ:372009617
2014-11-14 14:23:44 已设置保密 顶部 回复 引用 报告 编辑 删除

yanghao1219
用户头衔:书生

精华贴   :0
发贴数   :11
经验值   :134
注册时间:2010-12-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

收藏了  




2014-11-14 16:07:35 已设置保密 顶部 回复 引用 报告 编辑 删除

hlp
用户头衔:探花 *

精华贴   :0
发贴数   :2612
经验值   :7939
注册时间:2008-03-17
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持下




2014-11-14 18:28:30 已设置保密 顶部 回复 引用 报告 编辑 删除

luoto
用户头衔:探花

精华贴   :0
发贴数   :5921
经验值   :17806
注册时间:2008-11-08
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持




2014-11-15 08:08:27 已设置保密 顶部 回复 引用 报告 编辑 删除

jisjian
用户头衔:进士

精华贴   :0
发贴数   :567
经验值   :2522
注册时间:2008-10-19
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

好东西 改成memcache更好 避免冗余文件



网站app开发-支持帝国发展 Q290154702
2014-11-15 23:35:28 已设置保密 顶部 回复 引用 报告 编辑 删除

花心
用户头衔:探花

精华贴   :0
发贴数   :4374
经验值   :13671
注册时间:2008-11-01
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

看不懂,但支持




2014-11-16 08:37:12 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :6717
经验值   :20989
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

不错的说




2014-11-17 08:10:00 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/8     1 2 3 4 5 6 7 8 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1