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 相关文章推荐
Zend framework处理一个http请求的流程分析
Feb 08 PHP
php数组一对一替换实现代码
Aug 31 PHP
PHP采集类Snoopy抓取图片实例
Jun 19 PHP
php获取当月最后一天函数分享
Feb 02 PHP
php短址转换实现方法
Feb 25 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
PHP.vs.JAVA
Apr 29 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 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
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
车间班组长岗位职责
2013/11/13 职场文书
大学生的四年学习自我评价
2013/12/13 职场文书
优秀学生自我鉴定范例
2013/12/18 职场文书
如何撰写岗位职责
2014/02/01 职场文书
婚前财产公证书
2014/04/10 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
logback如何自定义日志存储
2021/08/30 Java/Android
Redis Stream类型的使用详解
2021/11/11 Redis
css3应用示例:新增的选择器
2022/03/16 HTML / CSS