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

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

方法一:原生memcache的写法

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缓存驱动

public function test2() {
  $mc = new \think\cache\driver\memcache(); //实例化memcache驱动
  $mc->set('test2','hello world',60); //写入缓存
  echo $mc->get('test2'); //读取缓存
  $mc->rm('test2'); //删除指定缓存
  $mc->clear(); //清空全部缓存
}

方法三:s方法

①直接调用s方法

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);
}

②采用对象方式操作缓存

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缓存配置如下:

'data_cache_type' => 'memcache', //数据缓存类型
'data_cache_prefix' => '', //缓存前缀
'data_cache_time' => 10, //数据缓存有效期 0表示永久缓存
'data_cache_compress' => false, //数据缓存是否压缩缓存

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

public function test5() {
  //设置缓存
  s('test5','hello world');
  //读取缓存
  echo s('test5');
  //删除缓存
  s('test5',null);
}

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。