在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 相关文章推荐
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
php多文件上传下载示例分享
Feb 20 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
php面向对象中static静态属性与方法的内存位置分析
Feb 08 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
WAF的正确bypass
Jan 05 PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 PHP
django中的ajax组件教程详解
Oct 18 PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 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中的日期及时间
2006/11/23 PHP
56.com视频采集接口程序(PHP)
2007/09/22 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
PHP会话处理的10个函数
2015/08/11 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
laravel自定义分页效果
2017/07/23 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
Python控制多进程与多线程并发数总结
2016/10/26 Python
python实现弹跳小球
2019/05/13 Python
python logging模块的使用总结
2019/07/09 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
Python可以用来做什么
2020/11/23 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
链表面试题-一个链表的结点结构
2015/05/04 面试题
初一英语教学反思
2014/01/11 职场文书
经典演讲稿汇总
2014/05/19 职场文书
2014年国庆标语
2014/06/30 职场文书
忠诚教育心得体会
2014/09/03 职场文书
见习报告怎么写
2014/10/31 职场文书
英语教师个人工作总结
2015/02/09 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
社会实践活动总结格式
2015/05/11 职场文书
党纪处分决定书
2015/06/24 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书