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


Posted in PHP onApril 15, 2019

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

PHP 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
计数器详细设计
Oct 09 PHP
php之对抗Web扫描器的脚本技巧
Oct 01 PHP
QueryPath PHP 中的jQuery
Apr 11 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
PDO::prepare讲解
Jan 29 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
tp5.1 框架join方法用法实例分析
May 26 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 #PHP
Laravel如何创建服务器提供者实例代码
Apr 15 #PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 #PHP
php xhprof使用实例详解
Apr 15 #PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 #PHP
vmware linux系统安装最新的php7图解
Apr 14 #PHP
php7新特性的理解和比较总结
Apr 14 #PHP
You might like
php学习之简单计算器实现代码
2011/06/09 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
php接口隔离原则实例分析
2019/11/11 PHP
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python仿抖音表白神器
2019/04/08 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
python实现126邮箱发送邮件
2020/05/20 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
方正Java笔试题
2014/07/03 面试题
艺术爱好者的自我评价分享
2013/10/08 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
高中家长寄语
2014/04/02 职场文书
师范类求职信
2014/06/21 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
党小组推荐意见
2015/06/02 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript