PHP实现分布式memcache设置web集群session同步的方法


Posted in PHP onApril 10, 2018

本文实例讲述了PHP实现分布式memcache设置web集群session同步的方法。

php的session默认是文件存储:

session.save_handler = files
session.save_path = "/var/lib/php/session"

当做web集群,需要session同步时,将session存到分布式memcache来达到共享同步是个不错的办法

方法:

第1种:

vi /etc/php.ini
session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"

第2种:

在php文件中使用ini_set函数进行配置,适合无法修改配置文件的虚拟主机

<?php
....
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
....
?>

重启web服务器

service httpd restart

查看phpinfo

PHP实现分布式memcache设置web集群session同步的方法

测试

192.168.20.193中的login.php

<?php
session_start();
$_SESSION['login_time'] = time();
$_SESSION['username'] = 'test2';
$token=session_id();
echo $token;
//memache实现
$mem = new Memcache();
$mem->addServer('192.168.20.193',11211);
$mem->addServer('192.168.20.194',11211);
/*
//memached实现
$mem = new Memcached();
$servers = array(
 array('192.168.20.193', 11211, 33),
 array('192.168.20.194', 11211, 67)
);
$mem->addServers($servers);
*/
echo '<hr>';
print_r($mem->get($token));
?>
<div>
<a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a>
</div>

192.168.20.194中的user.php

<?php
$mem = new Memcache();
$mem->addServer('192.168.20.193',11211);
$mem->addServer('192.168.20.194',11211);
$token=$_GET['token'];//获取传过来的token
print_r($mem->get($token));
?>
<div>
<a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a>
</div>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP实现图片简单上传
Oct 09 PHP
php文件操作实例代码
May 10 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
PHP微信开发之查询微信精选文章
Jun 23 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
PHP递归统计系统中代码行数
Sep 19 PHP
php微信小程序解包过程实例详解
Mar 31 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 #PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 #PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 #PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 #PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 #PHP
PHP创建自己的Composer包方法
Apr 09 #PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 #PHP
You might like
php strnatcmp()函数的用法总结
2013/11/27 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
如何使用php实现评委评分器
2015/07/31 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
Python fileinput模块使用实例
2015/06/03 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
pycharm导入源码的具体步骤
2020/08/04 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
电子商务专业学生职业生涯规划
2014/03/07 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
疾病防治方案
2014/05/31 职场文书
个人承诺书格式
2014/06/03 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
旅游项目合作意向书
2015/05/08 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript