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 相关文章推荐
我的论坛源代码(一)
Oct 09 PHP
phpwind中的数据库操作类
Jan 02 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
php购物车实现代码
Oct 10 PHP
PHP跳转页面的几种实现方法详解
Jun 08 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
php自定义session示例分享
Apr 22 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
vue-axios使用详解
2017/05/10 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python yield与实现方法代码分析
2018/02/06 Python
Python统计单词出现的次数
2018/04/04 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
浅析python内置模块collections
2019/11/15 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
Python request操作步骤及代码实例
2020/04/13 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
PHP面试题集
2016/12/18 面试题
酒店总经理欢迎词
2014/01/08 职场文书
英语商务邀请函范文
2014/01/16 职场文书
幼儿园教师培训制度
2014/01/16 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
好好学习保证书
2015/02/26 职场文书