phpcms 缓存

PHPCMS设置和读取缓存文件

PHPCMS开发中经常用到读取文件缓存,比如常见的当前站点类别,是保存在缓存文件中的,读取的时候 用:$this->categorys = getcache(‘category_content_’.$this->siteid,’commons’);

把常用的一些配置和需要经常用到的参数等存入缓存,可以大大提高程序的运行效率,避免重复读取,PHPCMS提供了设置和读取文件缓存的方法,本文讲讲PHPCMS设置缓存函数setcache和读取缓存函数getcache。

在\libs\functions\global.func.php中定义了设置缓存函数setcache:

/**
 * 写入缓存,默认为文件缓存,不加载缓存配置。
 * @param $name 缓存名称
 * @param $data 缓存数据
 * @param $filepath 数据路径(模块名称) caches/cache_$filepath/
 * @param $type 缓存类型[file,memcache,apc]
 * @param $config 配置名称
 * @param $timeout 过期时间
 */
function setcache($name, $data, $filepath=‘‘, $type=‘file‘, $config=‘‘, $timeout=0) {
    pc_base::load_sys_class(‘cache_factory‘,‘‘,0);
    if($config) {
        $cacheconfig = pc_base::load_config(‘cache‘);
        $cache = cache_factory::get_instance($cacheconfig)->get_cache($config);
    } else {
        $cache = cache_factory::get_instance()->get_cache($type);
    }

    return $cache->set($name, $data, $timeout, ‘‘, $filepath);
}

PHPCMS设置缓存文件

如果要把一个配置或者变量保存到缓存,可以这么用setcache函数

$infos = $this->db->select();
foreach ($infos as $info){
    $servers[$info[‘id‘]] = $info;
}
setcache(‘downservers‘, $servers,‘commons‘);

第一个参数表示缓存名称,第二个参数是这个缓存的内容,第三个参数是缓存的位置,这里commons是保存在缓存文件夹的commons文件夹中。

PHPCMS读取缓存文件

设置好了缓存,在用到缓存的时候怎么读取呢?也很简单,用getcache函数:

$downservers = getcache(‘downservers’,’commons’)

第一个参数就是设置的缓存名称,第二个参数是缓存位置。和设置缓存的时候是对应的

时间: 2024-08-27 12:54:47

phpcms 缓存的相关文章

服务器被挖矿******该怎么处理

正月里来是新年,刚开始上班我们SINE安全团队,首次挖掘发现了一种新的挖矿***,感染性极强,穿透内网,自动尝试***服务器以及其他网站,通过我们一系列的追踪,发现了***者的特征,首先使用thinkphp远程代码执行漏洞,以及ecshop getshell漏洞,phpcms缓存写入漏洞来进行***网站,通过网站权限来提权拿到服务器管理员权限,利用其中一台服务器作为中转,来给其他服务器下达命令,执行***脚本,注入挖矿***,对一些服务器的远程管理员账号密码,mysql数据库的账号密码进行暴力猜

PHPCMS读取联动菜单缓存时出错

产品上线后发现一个bug,普通用户想要注册成为企业用户时,页面空白,程序执行出错. 经过查找发现错误在global.func.php文件的menu_linkage()函数第3行,执行getcache时出错.继续查错,发现问题出在把一个很大的数组赋值给一个变量,如果数组小一点就没有问题.查看php.ini文件,发现memory_limit=8M,而测试服务器上memory_limit=128M.将8M改为128M后程序正常

phpcms ——模板标签详细使用说明

使用phpcms总是要查询各种标签,实在很烦,只好找个比较全的来备查.因为自己写一个orm来配合调用也没那么容易无缝的嵌入到引擎当中. 获取父分类下面的子分类 {loop subcat(77) $k $v}{php $subcatid[] = $k;}{/loop}<?php $subcatid = implode(',', $subcatid);?>  结果可以用在sql 的in子句中 {template "content","header"} 调用根

PHPCMS项目从本地上传到服务器,需要修改哪些地方?

比如根目录文件是phpcms 1,caches/configs/database.php 文件中修改数据库名,账号,密码: 2,caches/configs/system.php 文件中 1)修改'web_path'路径,把'/phpcms/',改为'/'; 2)把所有的 http://localhost/phpcms,替换为域名地址,比如 http://www.phpcms.com; 3,登录后台,设置--站点管理--默认站点,修改为新域名,比如:http://www.phpcms.com/.

cache缓存

ob,输出缓冲区,是output buffering的简称 FileCache.php 1 <?php 2 //本文件用来存储和读取文件中的数据 3 class FileCache{ 4 //使用单例(一个静态变量->保存对象:一个静态方法->判断是否属于自身) 5 private static $config;//用来存储配置信息 6 private static $obj; 7 private function __construct() {//禁止外部实例化对象 8 self::$

PHPCMS二次开发教程(转)

转自:http://www.cnblogs.com/semcoding/p/3347600.html PHPCMS V9 结构设计 根目录 |–api  结构文件目录 |–caches 缓存文件目录    |– configs 系统配置文件目录    |– caches_* 系统缓存目录 |–phpcms  phpcms框架主目录    |– languages 框架语言包目录    |– libs 框架主类库.主函数库目录    |– model 框架数据库模型目录    |– modules

phpcms V9 常用函数 及 代码整理

常用函数 及 常用代码 总结如下 1 <?php 2 //转换字符串或者数组的编码 3 str_charset($in_charset, $out_charset, $str_or_arr) 4 5 //获取菜单 6 menu($parentid, $code = '') 7 8 //判断当前浏览器是否为IE 9 is_ie() 10 11 //检查日期的合法性 12 is_date($ymd, $sep='-') 13 14 // 检查邮箱的合法性 15 is_email($email) 16

phpcms流程

一.把需要做的模板引入带phpcms文件夹:(需要index.html(主体),header(页头),footer.html(页尾)) 二.进入后台设置选项:(点击站点管理->修改;选择你要选用的模板) 三.进入后台内容模型管理设置:选择你要选用的模板 四.进入后台内容管理栏目设置:选择你要选用的模板 五.缓存生成首页:改路径(在index.html的当前目录下有几个文件夹,就换几个路径) 把首页(index.html拆分成(index.html,header.html,footer.html)

phpcms图文总结(转)

转自:http://www.cnblogs.com/Braveliu/p/5074930.html 在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示: [2]想修改默认的模板风格怎么办? PHPCMS V9默认的网页模板在phpcms目录下的templates文件夹.如果想更换模板,可以根据新模板的文件组织结构,分别覆盖default文件夹和st