采用memcache在web集群中实现session的同步会话


Posted in PHP onJuly 05, 2014

使用memcache来同步session是还是不错的,当然也可以通过redis来保存session,可以php开启并将Session存储到Redis缓存,下面是设置利用memcache在web集群中同步会话session的实现过程:

1、模拟web集群

我启动了二个memcached进程,分别模拟二台服务器

/usr/local/bin/memcached -d -m 20 -u zhangy -p 12000 -P ./memcached.pid
/usr/local/bin/memcached -d -m 20 -u zhangy -p 13000 -P ./mem.pid

2、修改php的配置

vi /usr/local/php/lib/php.ini

session.save_handler = "memcache"
memcache.hash_strategy = "consistent"
session.save_path = "tcp://127.0.0.1:13000?weight=10,tcp://127.0.0.1:12000"

说明:第一行,session的储存方式是memcache;第二行,memcache的hash算法是consistent;第三行,session储存的地位;

3、重启apache

查看phpinfo

session

Session Support enabled
Registered save handlers files user sqlite memcache
Registered serializer handlers php php_binary

紧接着下面是:

session.save_path tcp://127.0.0.1:13000,tcp://127.0.0.1:12000 tcp://127.0.0.1:13000,tcp://127.0.0.1:12000

4、做个简单测试如下:

a)、准备文件session.php

<?php 
session_start(); 
$_SESSION['username'] = "abcabc"; 
echo session_id(); 
?>

b)、显示session内容文件

<?php 
$mem = new Memcache; 
$mem->addServer("127.0.0.1",12000)or die ("Could not add server 12000"); 
$mem->addServer("127.0.0.1",13000)or die ("Could not add server 13000"); 
$val = $mem->get('qp0mrob2ovcqle3u4lbr4obsa5'); 
//echo session_id(); 得到的session id
echo $val; 
?>
PHP 相关文章推荐
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
PHP curl使用实例
Jul 02 PHP
php提高网站效率的技巧
Sep 29 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 PHP
30个php操作redis常用方法代码例子
Jul 05 #PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 #PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 #PHP
php遍历数组的4种方法总结
Jul 05 #PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 #PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 #PHP
php socket客户端及服务器端应用实例
Jul 04 #PHP
You might like
php读取javascript设置的cookies的代码
2010/04/12 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
2020/04/30 jQuery
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Nodejs + sequelize 实现增删改查操作
2020/11/07 NodeJs
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python处理excel绘制雷达图
2019/10/18 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
英语专业学生个人求职信
2014/01/28 职场文书
教师个人自我评价
2015/03/04 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
Python OpenCV实现图形检测示例详解
2022/04/08 Python
redis 解决库存并发问题实现数量控制
2022/04/08 Redis