PHP中使用memcache存储session的三种配置方法


Posted in PHP onApril 05, 2014

1、直接修改php.ini配置文件

session.save_handler = memcache //设置session的储存方式为memcache 
memcache.hash_strategy = "consistent"//设置memcache的hash算法 
session.save_path = "tcp://127.0.0.100:11211" //设置session储存的位置,多台memcache用逗号隔开,例如:tcp://127.0.0.1:11211,tcp://127.0.0.1:12000

2、利用目录下的 .htaccess 文件配置
php_value session.save_handler "memcache" 
php_value session.save_path "tcp://127.0.0.1:11211"

说明:这个只是针对Apache的,目前使用Nginx的比较多,也不推荐此方式。

3、在项目的PHP文件中修改配置

ini_set("session.save_handler", "memcache"); 
ini_set("session.save_path", "tcp://127.0.0.100:11211");

4、测试例子

//测试session读取是否正常 
session_start(); 
$_SESSION['username'] = "3water.com"; 
echo session_id(); //从Memcache中读取session 
$m = new Memcache(); 
$m->connect('localhost', 11211); 
//或者这样 
//$mem->addServer("127.0.0.1", 11211) or die ("Can't add Memcache server 127.0.0.1:12000"); 
//根据session_id获取数据 
//本机 
//$session = $m->get(session_id()); //session_id:d527b6f983bd5e941f9fff318a31206b 
//另一台服务器,已知session id 
$session = $m->get("d527b6f983bd5e941f9fff318a31206b"); 
echo $session."<br/>"; //会得到这样的数据:username|s:16:"pandao";,解析一下就可以得到相应的值了 
echo session_id()."<br/>"; 
exit;

上面只是一些简单的说明,其实说点题外话,一般来说,做分布式,那肯定是有服务器权限的,所以推荐第一种。

PHP 相关文章推荐
PHP中uploaded_files函数使用方法详解
Mar 09 PHP
如何用php获取程序执行的时间
Jun 09 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
php插入mysql数据返回id的方法
May 31 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
php生成短网址/短链接原理和用法实例分析
May 29 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 #PHP
PHP6 中可能会出现的新特性预览
Apr 04 #PHP
php实现水仙花数示例分享
Apr 03 #PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 #PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 #PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 #PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 #PHP
You might like
PHP关联数组的10个操作技巧
2013/01/21 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
什么是JavaScript
2009/08/13 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
vue异步加载高德地图的实现
2018/06/19 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python字典操作简明总结
2015/04/13 Python
python执行get提交的方法
2015/04/29 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
基于python实现操作redis及消息队列
2020/08/27 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
广场舞大赛策划方案
2014/05/31 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
股份转让协议书范本
2015/01/27 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js
Python 图片添加美颜效果
2022/04/28 Python