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 输出缓存详解
Jun 20 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
PHP递归删除目录几个代码实例
Apr 21 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
Laravel如何创建服务器提供者实例代码
Apr 15 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 PHP
php7中停止php-fpm服务的方法详解
May 09 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
mysql建立外键
2006/11/25 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
php中this关键字用法分析
2016/12/07 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
js自定义select下拉框美化特效
2016/05/12 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
python检测是文件还是目录的方法
2015/07/03 Python
Python探索之Metaclass初步了解
2017/10/28 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
django 模型中的计算字段实例
2020/05/19 Python
Pygame框架实现飞机大战
2020/08/07 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
采购类个人求职的自我评价
2014/02/18 职场文书
2014年大班元旦活动方案
2014/02/26 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
JS的深浅复制详细
2021/10/16 Javascript