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_MySQL教程-第一天
Mar 18 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
php计算十二星座的函数代码
Aug 21 PHP
深入php var_dump()函数的详解
Jun 05 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
php实现微信支付之企业付款
May 30 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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中for循环语句的几种变型
2006/11/26 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
php强制下载文件函数
2016/08/24 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
Python实现的多线程端口扫描工具分享
2015/01/21 Python
python如何为创建大量实例节省内存
2018/03/20 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
python里 super类的工作原理详解
2019/06/19 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
《鞋匠的儿子》教学反思
2014/03/02 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
董存瑞观后感
2015/06/11 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server