当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-18 17:53:29 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP3.2.3框架Memcache缓存使用方法,结合实例形式总结分析看thinkPHP框架下Memcache缓存各种调用方法与配置相关操作技巧,需要的朋友可以参考下。

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

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

方法一:原生Memcache的写法

  1. public function test1() { 
  2.   $mc = new \Memcache(); //创建Memcache对象 
  3.   $mc->connect("127.0.0.1", 11211); //连接Memcached服务器 
  4.   $mc->set('test1','hello world',0,10); //存储数据 
  5.   echo $mc->get('test'); //获取数据 
  6.   $mc->delete('test'); //删除数据 
  7.   $mc->flush(); //强制刷新全部缓存,即清空Memcached服务器 
  8.   $mc->close(); //断开与Memcached服务器的连接 

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

  1. public function test2() { 
  2.   $mc = new \Think\Cache\Driver\Memcache(); //实例化Memcache驱动 
  3.   $mc->set('test2','hello world',60); //写入缓存 
  4.   echo $mc->get('test2'); //读取缓存 
  5.   $mc->rm('test2'); //删除指定缓存 
  6.   $mc->clear(); //清空全部缓存 

方法三:S方法

①直接调用S方法

  1. public function test3() { 
  2.   //缓存初始化 
  3.   S(array
  4.     'type'=>'memcache'//缓存类型 
  5.     'host'=>'127.0.0.1'//Memcache服务器地址 
  6.     'port'=>'11211'//Memcache端口号 
  7.     'prefix'=>'think'//缓存标识前缀  
  8.     'expire'=>10,) //缓存有效期(时间为秒) 
  9.   ); 
  10.   //设置缓存 
  11.   S('test3','hello world'); //可以改变缓存时间:S('test3','hello world',60); 
  12.   //读取缓存 
  13.   echo S('test3'); 
  14.   //删除缓存 
  15.   S('test3',null); 

②采用对象方式操作缓存

  1. public function test4() { 
  2.   $cache = S(array('type'=>'memcache','prefix'=>'think','expire'=>10)); //缓存初始化 
  3.   $cache->test4 = 'hello world'//设置缓存 
  4.   echo $cache->test4; //获取缓存 
  5.   unset($cache->test4); //删除缓存 

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

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

  1. 'DATA_CACHE_TYPE' => 'Memcache'//数据缓存类型 
  2. 'DATA_CACHE_PREFIX' => ''//缓存前缀 
  3. 'DATA_CACHE_TIME' => 10, //数据缓存有效期 0表示永久缓存 
  4. 'DATA_CACHE_COMPRESS' => false, //数据缓存是否压缩缓存 

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

  1. public function test5() { 
  2.   //设置缓存 
  3.   S('test5','hello world'); 
  4.   //读取缓存 
  5.   echo S('test5'); 
  6.   //删除缓存 
  7.   S('test5',null); 
  8. }

Tags: ThinkPHP3 2 3 Memcache

分享到: