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批量生成缩略图的代码
Jul 19 PHP
PHP中读写文件实现代码
Oct 20 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
php将远程图片保存到本地服务器的实现代码
Aug 03 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
php json相关函数用法示例
Mar 28 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
解析PHP的session过期设置
2013/06/29 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Django中间件实现拦截器的方法
2018/06/01 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
18岁生日感言
2014/01/12 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
检举信的格式及范文
2014/04/04 职场文书
竞选班委演讲稿
2014/04/28 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
2016七夕情人节感言
2015/12/09 职场文书
Python实现简繁体转换
2021/06/07 Python
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android