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 相关文章推荐
开源SNS系统-ThinkSNS
May 18 PHP
检测png图片是否完整的php代码
Sep 06 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
php类自动加载器实现方法
Jul 28 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
PHP中include()与require()的区别说明
Feb 14 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
vmware linux系统安装最新的php7图解
2019/04/14 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
python Opencv将图片转为字符画
2021/02/19 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
实习医生自我评价
2013/09/22 职场文书
大学本科毕业生的自我鉴定
2013/11/26 职场文书
劳资专员岗位职责
2013/12/27 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
课改先进个人汇报材料
2014/01/26 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android
把77A收信机改造成收音机
2022/04/05 无线电