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 相关文章推荐
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
php中使用临时表查询数据的一个例子
Feb 03 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
浅析php工厂模式
Nov 25 PHP
php实现的RSS生成类实例
Apr 23 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 PHP
详解PHP设计模式之依赖注入模式
May 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
PHP闭包(Closure)使用详解
2013/05/02 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
js 控制图片大小核心讲解
2013/10/09 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
JS验证不重复验证码
2017/02/10 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
python运行时间的几种方法
2016/06/17 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
方正Java笔试题
2014/07/03 面试题
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
土地转让协议书
2014/04/15 职场文书
师德师风建设方案
2014/05/08 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
公司的力量观后感
2015/06/05 职场文书
国富论读书笔记
2015/06/26 职场文书