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中的加密功能
Oct 09 PHP
php $_ENV为空的原因分析
Jun 01 PHP
PHP 转义使用详解
Jul 15 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
小谈php正则提取图片地址
Mar 27 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
php中preg_replace_callback函数简单用法示例
Jul 21 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 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实现mysql数据库操作类分享
2014/02/14 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
script标签属性用type还是language
2015/01/21 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python heapq使用详解及实例代码
2017/01/25 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
资产评估专业学生的自我鉴定
2013/11/14 职场文书
标准化管理实施方案
2014/02/25 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
阿凡达观后感
2015/06/10 职场文书
员工规章制度范本
2015/08/07 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
Nginx如何配置根据路径转发详解
2022/07/23 Servers