ThinkPHP3.2.3框架Memcache缓存使用方法实例总结

2020-10-21 10:45:41 浏览数 (1)

本文实例讲述了ThinkPHP3.2.3框架Memcache缓存使用方法。分享给大家供大家参考,具体如下:

前面一篇文章讲述了Linux下安装Memcached服务器和客户端,这里来总结一下ThinkPHP3.2.3框架Memcache的使用方法。

方法一:原生Memcache的写法

代码语言:javascript复制
public function test1() {
  $mc = new Memcache(); //创建Memcache对象
  $mc- connect("127.0.0.1", 11211); //连接Memcached服务器
  $mc- set('test1','hello world',0,10); //存储数据
  echo $mc- get('test'); //获取数据
  $mc- delete('test'); //删除数据
  $mc- flush(); //强制刷新全部缓存,即清空Memcached服务器
  $mc- close(); //断开与Memcached服务器的连接
}

方法二:直接调用集成好的Memcache缓存驱动

代码语言:javascript复制
public function test2() {
  $mc = new ThinkCacheDriverMemcache(); //实例化Memcache驱动
  $mc- set('test2','hello world',60); //写入缓存
  echo $mc- get('test2'); //读取缓存
  $mc- rm('test2'); //删除指定缓存
  $mc- clear(); //清空全部缓存
}

方法三:S方法

①直接调用S方法

代码语言:javascript复制
public function test3() {
  //缓存初始化
  S(array(
    'type'= 'memcache', //缓存类型
    'host'= '127.0.0.1', //Memcache服务器地址
    'port'= '11211', //Memcache端口号
    'prefix'= 'think', //缓存标识前缀 
    'expire'= 10,) //缓存有效期(时间为秒)
  );
  //设置缓存
  S('test3','hello world'); //可以改变缓存时间:S('test3','hello world',60);
  //读取缓存
  echo S('test3');
  //删除缓存
  S('test3',null);
}

②采用对象方式操作缓存

代码语言:javascript复制
public function test4() {
  $cache = S(array('type'= 'memcache','prefix'= 'think','expire'= 10)); //缓存初始化
  $cache- test4 = 'hello world'; //设置缓存
  echo $cache- test4; //获取缓存
  unset($cache- test4); //删除缓存
}

手册中关于S方法初始化:如果不传入type参数,会读取配置文件中设置的DATA_CACHE_TYPE作为默认缓存类型;如果不传入prefix参数,会读取DATA_CACHE_PREFIX作为默认缓存标识前缀;如果不传入expire参数,会读取DATA_CACHE_TIME作为默认缓存有效期。

配置文件config.php中,关于Memcache缓存配置如下:

代码语言:javascript复制
'DATA_CACHE_TYPE' =  'Memcache', //数据缓存类型
'DATA_CACHE_PREFIX' =  '', //缓存前缀
'DATA_CACHE_TIME' =  10, //数据缓存有效期 0表示永久缓存
'DATA_CACHE_COMPRESS' =  false, //数据缓存是否压缩缓存

配置之后调用S方法无需再初始化

代码语言:javascript复制
public function test5() {
  //设置缓存
  S('test5','hello world');
  //读取缓存
  echo S('test5');
  //删除缓存
  S('test5',null);
}

0 人点赞