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 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
数据库的日期格式转换
Oct 09 PHP
php5数字型字符串加解密代码
Apr 24 PHP
坏狼php学习 计数器实例代码
Jun 15 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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删除xml文档内容的方法
2015/01/23 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
javascript 自动填写表单的实现方法
2010/04/09 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
Python 编程速成(推荐)
2019/04/15 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
Python装饰器结合递归原理解析
2020/07/02 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
计算机个人求职信范例
2014/01/24 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
领导参观欢迎词
2015/01/26 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers