在php中设置session用memcache来存储的方法总结


Posted in PHP onJanuary 14, 2016

memcached提供了一个自定义的session处理器可以被用于存储用户session数据到memcached服务端。一个完全独立的memcached实例将会在内部使用,因此如果需要您可以设置一个不同的服务器池。session的key被存储在前缀memc.sess.key.之下,因此, 如果你对session和通常的缓存使用了同样的服务器池,请注意这一点。译注:另外一个session和通常缓存分离的原因是当通常的缓存占满了memcached服务端后,可能会导致你的session被从缓存中踢除,导致用户莫名的掉线。

session.save_handler string

设置为memcached开启memcached的session处理器。

session.save_path string

定义一个逗号分隔的hostname:port样式的session缓存服务器池,例如: "sess1:11211, sess2:11211".

方法I: 在 php.ini 中全局设置

session.save_handler = memcache 
session.save_path = "tcp://127.0.0.1:11211"

方法II: 某个目录下的 .htaccess

php_value session.save_handler "memcache" 
php_value session.save_path "tcp://127.0.0.1:11211"

方法III: 再或者在某个一个应用中

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

使用多个 memcached server 时用逗号","隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数"persistent"、"weight"、"timeout"、"retry_interval" 等等,类似这样的:"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。

如果安装的PECL是memcached(依赖libmemcached库的那个扩展),则配置应为

ini_set("session.save_handler", "memcached"); // 是memcached不是memcache 
ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:[/b]

代码例子(不依赖libmemcached库的那个)

<?php 
session_start(); 
if (!isset($_SESSION['TEST'])) { 
$_SESSION['TEST'] = time(); 
} 
$_SESSION['TEST'] = time(); 
print $_SESSION['TEST']; 
print "<br><br>"; 
print $_SESSION['TEST']; 
print "<br><br>"; 
print session_id(); 
?>

用 sessionid 去 memcached 里查询一下:

<?php 
$memcache = memcache_connect('localhost', ); 
var_dump($memcache->get('ccedecbceebe')); 
$memcache->set('aaaa', 'hello everyone'); 
var_dump($memcache->get('aaaa')); 
?>

会看到

string(37) "TEST|i:1177556731;TEST3|i:1177556881;"

这样的输出,证明 session 正常工作。

下面通过两种用法实例给大家介绍下php中使用memcached来存储session

一、

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

多个memcached

ini_set("session.save_path","tcp://127.0.0.1:11211,tcp://127.0.0.1:11211");

二、

ini_set("session.save_handler", "memcached");
ini_set("session.save_path","...:");

多个memcached

ini_set("session.save_path","127.0.0.1:11211,127.0.0.1:11211");
PHP 相关文章推荐
可以在线执行PHP代码包装修正版
Mar 15 PHP
PHP获取当前文件所在目录 getcwd()函数
May 13 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
PHP实现根据图片色界在不同位置加水印的方法
Aug 08 PHP
PHP错误处理函数
Apr 03 PHP
PHP模板引擎Smarty自定义变量调解器用法
Apr 11 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
May 15 PHP
thinkphp实现图片上传功能
Jan 13 #PHP
PHP实现伪静态方法汇总
Jan 13 #PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
Jan 12 #PHP
优化WordPress中文章与评论的时间显示
Jan 12 #PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 #PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 #PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 #PHP
You might like
用PHP生成html分页列表的代码
2007/03/18 PHP
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
PHP设置图片文件上传大小的具体实现方法
2013/10/11 PHP
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python深入学习之对象的属性
2014/08/31 Python
初步解析Python中的yield函数的用法
2015/04/03 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
python单例设计模式实现解析
2020/01/07 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
"引用"与多态的关系
2013/02/01 面试题
促销活动方案模板
2014/02/24 职场文书
投资合作协议书
2014/04/17 职场文书
会议欢迎词
2015/01/23 职场文书
音乐会主持人开场白
2015/05/28 职场文书
毕业实习单位意见
2015/06/04 职场文书
小时代观后感
2015/06/10 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
班主任培训研修日志
2015/11/13 职场文书