thinkPHP实现MemCache分布式缓存功能
作者:haiwei.sun 时间:2024-03-13 00:28:05
本文实例讲述了thinkPHP实现MemCache分布式缓存功能。分享给大家供大家参考,具体如下:
两天在研究MemCache分布式缓存的问题时,发现ThinkPHP其实并不支持分布式缓存功能,这可以从官方提供的CacheMemcache.class.php文件中看到:
if(empty($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(empty($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服务器均工作正常,而另外一台虚假的服务器当然是无法连接到的。哈哈,够简单的吧
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
标签:thinkPHP,MemCache
0
投稿
猜你喜欢
pytorch 预训练模型读取修改相关参数的填坑问题
2021-11-07 01:08:36
Python模块相关知识点小结
2022-04-12 06:58:23
JavaScript给数组添加元素的6个方法
2024-04-30 08:46:47
Vue 实现从小到大的横向滑动效果详解
2024-05-10 14:14:10
Oracle存储过程之数据库中获取数据实例
2009-03-04 10:57:00
MySQL 定时器EVENT学习
2010-10-14 13:55:00
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2021-03-31 12:42:31
Django视图函数的具体使用
2023-07-25 11:02:54
使用python快速在局域网内搭建http传输文件服务的方法
2021-02-12 10:44:19
Python爬虫新手入门之初学lxml库
2021-11-19 07:16:29
Python3 导入上级目录中的模块实例
2023-09-01 02:25:20
python十进制转二进制的详解
2023-06-07 23:39:33
Python 面向对象编程详解
2023-06-25 05:24:23
vue2.0父子组件间通信的实现方法
2024-04-28 09:20:16
PHP getDocNamespaces()函数讲解
2023-06-13 22:19:06
Vue watch原理源码层深入讲解
2024-04-30 10:40:58
150行python代码实现贪吃蛇游戏
2021-07-15 06:43:20
Python实现拓扑算法的示例
2023-12-09 15:06:29
win10环境下配置vscode python开发环境的教程详解
2022-09-06 21:19:49
解决Mysql报Invalid default value for ''operate_time''错误的问题
2024-01-14 08:42:16