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和js交互一例-PHP教程,PHP应用
Jan 03 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
Yii Framework框架获取分类下面的所有子类方法
Jun 20 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
thinkPHP实现的联动菜单功能详解
May 05 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
laravel 使用auth编写登录的方法
Sep 30 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递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
学习js所必须要知道的一些
2007/03/07 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python查看微信撤回消息代码
2018/06/07 Python
python中int与str互转方法
2018/07/02 Python
python得到windows自启动列表的方法
2018/10/14 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
房屋转让协议书范本
2014/04/11 职场文书
师德演讲稿范文
2014/05/06 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
2014年底个人工作总结
2015/03/10 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python