ThinkPHP框架中使用Memcached缓存数据的方法

 更新时间:2018年03月31日 12:17:19   作者:SohoWang   我要评论
这篇文章主要介绍了ThinkPHP框架中使用Memcached缓存数据的方法,结合实例形式分析了thinkPHP框架中Memcached缓存的设置与使用相关操作技巧,需要的朋友可以参考下

本文实例讲述了ThinkPHP框架中使用Memcached缓存数据的方法。分享给大家供大家参考,具体如下:

ThinkPHP默认使用文件缓存数据,支持Memcache等其他缓存方式,有两个PHP扩展:Memcache和Memcached,Memcahe官方有说明,主要说一下Memcached。

相对于PHP Memcache,php Memcached是基于原生的c的libmemcached的扩展,更加完善,建议替换为php memcached。

版本3.2.2开始内置了Memcached驱动(ThinkPHP/Library/Think/Cache/Driver/Memcached.class.php),但是文档中并没有说明用法,通过查看源码配置并测试成功。

有个bug至今未修复,就是过期时间为0的问题,理论上应该是永久缓存,但是驱动中未做处理,会马上过期,set方法修改如下

 public function set($name, $value, $expire = null) {
  N('cache_write',1);
  if(is_null($expire)) {
   $expire = $this->options['expire'];
  }
  $name = $this->options['prefix'].$name;
  if (empty($expire))
   $time = 0;
  else
   $time = time() + $expire;
  if($this->handler->set($name, $value, $time)) {
   if($this->options['length']>0) {
    // 记录缓存队列
    $this->queue($name);
   }
   return true;
  }
  return false;
 }

在配置文件config.php中添加

//缓存配置
 'DATA_CACHE_TYPE' => 'Memcached',
 'MEMCACHED_SERVER' => array(
  array('127.0.0.1', 11211, 0)
 ),

驱动中是调用:

Memcached::addServers(array)

可以添加多个缓存服务器

还有一个配置项是 MEMCACHED_LIB,调用的是:

Memcached::setOptions(array)

具体选项可参考PHP中文手册

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

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

相关文章

  • PHP实现无限极分类图文教程

    PHP实现无限极分类图文教程

    本文从数据库设计,代码编写到效果图详细介绍了php实现无限极分类的全过程,图文并茂,是篇值得推荐的文章,小伙伴们拿走参考下吧
    2014-11-11
  • 微信公众号开发之文本消息自动回复php代码

    微信公众号开发之文本消息自动回复php代码

    这篇文章主要为大家详细介绍了微信公众号开发之文本消息自动回复php代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Yii中表单用法实例详解

    Yii中表单用法实例详解

    这篇文章主要介绍了Yii中表单用法,结合实例形式较为详细的分析总结了Yii针对表单的各种常用操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-01-01
  • yii框架redis结合php实现秒杀效果(实例代码)

    yii框架redis结合php实现秒杀效果(实例代码)

    这篇文章主要介绍了yii框架redis结合php实现秒杀效果,非常不错,代码简单易懂,需要的朋友可以参考下
    2017-10-10
  • 详解thinkphp中的volist标签

    详解thinkphp中的volist标签

    本文通过实例案例给大家介绍了thinkphp中的volist标签,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友参考下吧
    2018-01-01
  • 基于Laravel5.4实现多字段登录功能方法示例

    基于Laravel5.4实现多字段登录功能方法示例

    最近在工作中遇到一个需求,需要实现多字段登录的一个效果,就是可以使用手机或者邮箱任一种方式的登录,现在将解决的过程分享出来,所以这篇文章主要给大家介绍了基于Laravel5.4实现多字段登录功能的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • PHP编写RESTful接口的方法

    PHP编写RESTful接口的方法

    这篇文章主要为大家详细介绍了PHP编写RESTful接口的方法,如何使用PHP编写RESTful接口,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能

    PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能

    本文将使用jquery ui的autocomplete插件,结合后端PHP,数据源通过PHP读取mysql数据表的数据,有需要的朋友可以参考一下。
    2015-04-04
  • Yii2 批量插入、更新数据实例

    Yii2 批量插入、更新数据实例

    这篇文章主要介绍了Yii2 批量插入、更新数据实例的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】

    ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】

    这篇文章主要介绍了ThinkPHP5.0框架验证码功能实现方法,结合实例形式分析了thinkPHP5基于第三方扩展包实现验证码功能相关操作技巧,需要的朋友可以参考下
    2019-03-03

最新评论