欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-09 12:41:05
本文实例讲述了thinkphp3.2.3框架memcache缓存使用方法。分享给大家供大家参考,具体如下: 前面一篇文章讲述了linux下安装memcached服务器和客...

本文实例讲述了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程序设计有所帮助。