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支持断点续传的源码
May 16 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
Oct 12 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
PHP+Apache实现二级域名之间共享cookie的方法
Jul 24 PHP
基于php伪静态的实现方法解析
Jul 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+memcache实现的网站在线人数统计代码
2014/07/04 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
js中的cookie的读写操作示例详解
2014/04/17 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python随机生成彩票号码的方法
2015/03/05 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
用Python解决x的n次方问题
2019/02/08 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
Python字符串对象实现原理详解
2019/07/01 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
另类冲刺标语
2014/06/24 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
Html5生成验证码的示例代码
2021/05/10 Javascript
CentOS安装Nginx并部署vue
2022/04/12 Servers
分享几个实用的CSS代码块
2022/06/10 HTML / CSS