您好,欢迎访问一九零五行业门户网

ThinkPHP3.1.3核心类 Cache.class.php

/thinkphp/lib/core/cache.class.php 一、示例代码 需要注意的就三个函数 1、连接缓存 public function connect($type=,$options=array()) { if(empty($type)) $type = c(data_cache_type); $type = strtolower(trim($type)); $class = cache.ucwords($type)
/thinkphp/lib/core/cache.class.php
一、示例代码
需要注意的就三个函数
1、连接缓存
public function connect($type='',$options=array()) { if(empty($type)) $type = c('data_cache_type'); $type = strtolower(trim($type)); $class = 'cache'.ucwords($type); /*根据不同的类型 调用不同的缓存引擎 默认tp只提供了 文件缓存方式 在 lib/driver/cache/cachefile.class.php*/ if(class_exists($class)) $cache = new $class($options); else throw_exception(l('_cache_type_invalid_').':'.$type); return $cache; }
2、取得缓存类实例
static function getinstance() { $param = func_get_args(); return get_instance_of(__class__,'connect',$param); }
这里调用了 function.php 中的 get_instance_of 函数,实际上 是吧 单例模式独立出去了
3、队列缓存
作用就是 设置缓存的长度 
如果不启用缓存队列,在超时时间内,只要set缓存 就是不断添加缓存
额设置的缓存长度 如10 ,那么根据队列“先进先出”的原则,当缓存数量大于10的时候,会删除队首的缓存。
二、值得说的编程小细节:
1、
public function __get($name) { return $this->get($name); } public function __set($name,$value) { return $this->set($name,$value); }
这里体现了面向对象 多态思想 子类继承cache类, cache类中的$this->set() 是调用的子类中的方法
2、function.php 中的 get_instance_of 函数
把单例模式独立出来 是比较不错的方式
其它类似信息

推荐信息