thinkPHP实现MemCache分布式缓存功能
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-21 15:04:25 浏览: 评论:0
这篇文章主要介绍了thinkPHP实现MemCache分布式缓存功能的方法,结合实例形式分析了thinkPHP通过修改CacheMemcache.class.php源文件实现分布式缓存功能的具体实现技巧,需要的朋友可以参考下。
本文实例讲述了thinkPHP实现MemCache分布式缓存功能,分享给大家供大家参考,具体如下:
两天在研究MemCache分布式缓存的问题时,发现ThinkPHP其实并不支持分布式缓存功能,这可以从官方提供的CacheMemcache.class.php文件中看到:
- if(emptyempty($options)) {
- $options = array
- (
- 'host' => '127.0.0.1',
- 'port' => 11211,
- 'timeout' => false,
- 'persistent' => false
- );
- }
- $func = $options['persistent'] ? 'pconnect' : 'connect';
- $this->expire = isset($options['expire'])?$options['expire']:C('DATA_CACHE_TIME');
- $this->handler = new Memcache;
- $this->connected = $options['timeout'] === false ?
- $this->handler->$func($options['host'], $options['port']) :
- $this->handler->$func($options['host'], $options['port'], $options['timeout']);
不过不要紧,稍微修改下就行了,即
- if(emptyempty($options)) {
- $options = array
- (
- 'timeout' => false,
- 'persistent' => false,
- 'servers'=>array(
- array('ip'=>'127.0.0.1','port'=>11211),
- array('ip'=>'127.0.0.1','port'=>11212),
- array('ip'=>'202.116.32.4','port'=>11211),
- ),
- );
- }
- //分布式处理函数
- $func="addServer";
- $this->expire = isset($options['expire'])?$options['expire']:C('DATA_CACHE_TIME');
- $this->handler = new Memcache;
- if($options['timeout']===false)
- {
- foreach($options['servers'] as $server)
- {
- $this->handler->$func($server['ip'],$server['port']);
- }
- }
闲来无事,于是就在本机上启动了两个MemCache服务器,顺手编写了一段简单的监控代码(隔一段时间自动刷新一次),进行测试,如果发现服务器运行不正常,则使用PhpMailer自动发送一封Email到管理员邮箱,测试结果表明,两台Memcache服务器均工作正常,而另外一台虚假的服务器当然是无法连接到的,哈哈,够简单的吧
Tags: MemCache thinkPHP分布式缓存
相关文章
- ·thinkphp memcache的使用(2014-04-12)
- ·修改ThinkPHP缓存为Memcache的方法(2021-03-02)
- ·ThinkPHP3.2.3框架Memcache缓存使用方法实例总结(2021-11-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)