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

 更新时间:2019年04月15日 11:15:31   作者:李维山   我要评论

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

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

相关文章

  • php+ajax注册实时验证功能

    php+ajax注册实时验证功能

    我们在网站上面注册时,在输入用户名时,首先要进行无刷新验证,这篇文章主要为大家详细介绍了php+ajax注册实时验证功能,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • php实现兼容2038年后Unix时间戳转换函数

    php实现兼容2038年后Unix时间戳转换函数

    这篇文章主要介绍了php实现兼容2038年后Unix时间戳转换函数,使用方法和就的函数一样,非常实用,推荐给大家,希望大家能够喜欢。
    2015-03-03
  • Laravel用户授权系统的使用方法示例

    Laravel用户授权系统的使用方法示例

    这篇文章主要给大家介绍了关于Laravel用户授权系统使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • PHP中模拟处理HTTP PUT请求的例子

    PHP中模拟处理HTTP PUT请求的例子

    这篇文章主要介绍了PHP中模拟处理HTTP PUT请求的例子,PUT请求会把消息本体中的消息发送到一个URL,跟POST类似,需要的朋友可以参考下
    2014-07-07
  • 浅谈PHP链表数据结构(单链表)

    浅谈PHP链表数据结构(单链表)

    下面小编就为大家带来一篇浅谈PHP链表数据结构(单链表)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • laravel中的错误与日志用法详解

    laravel中的错误与日志用法详解

    这篇文章主要介绍了laravel中的错误与日志用法,结合实例形式详细分析了laravel中错误与日志的相关设置与使用技巧,需要的朋友可以参考下
    2016-07-07
  • Laravel 加载第三方类库的方法

    Laravel 加载第三方类库的方法

    这篇文章主要介绍了Laravel 加载第三方类库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Yii实现多按钮保存与提交的方法

    Yii实现多按钮保存与提交的方法

    这篇文章主要介绍了Yii实现多按钮保存与提交且不冲突的方法,是表单制作中非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • 从零开始学YII2框架(三)扩展插件yii2-gird

    从零开始学YII2框架(三)扩展插件yii2-gird

    yii2-gird 插件是Yii2.0的一个扩展。它在官方的girdview基础上扩展了一些实用的功能。非常好用,推荐使用哦。
    2014-08-08
  • PHP date()函数警告: It is not safe to rely on the system解决方法

    PHP date()函数警告: It is not safe to rely on the system解决

    这篇文章主要介绍了PHP date()函数警告: It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了两种方法来解决这个问题,需要的朋友可以参考下
    2014-08-08

最新评论