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函数
Oct 09 PHP
php中curl和file_get_content的区别
May 10 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
php7 list()、session及其他模块的修改实例分析
May 25 PHP
PHP 实现重载
Mar 09 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相当简单的分页类
2008/10/02 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
js基础知识(公有方法、私有方法、特权方法)
2015/11/06 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
纪检干部个人对照检查材料
2014/09/23 职场文书
放射科岗位职责
2015/02/14 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
确保工程质量承诺书
2015/04/29 职场文书
院系推荐意见
2015/06/05 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
KVM基础命令详解
2022/04/30 Servers