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扩展图文教程
Dec 12 PHP
程序员编程十条戒律
Jul 09 PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
PHP实现懒加载的方法
Mar 07 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
yii框架数据库关联查询操作示例
Oct 14 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 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
新版PHP将向Java靠拢
2006/10/09 PHP
用PHP函数解决SQL injection
2006/10/09 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
PHP 实现重载
2021/03/09 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
详解Angular如何正确的操作DOM
2018/07/06 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python实现复制整个目录的方法
2015/05/12 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
详解Django中异步任务之django-celery
2020/11/05 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
心理健康日活动总结
2014/05/08 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
安全生产培训心得体会
2016/01/18 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书