在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 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
在PHP中使用模板的方法
May 24 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
PHP 读取文件的正确方法
Apr 29 PHP
PHP 柱状图实现代码
Dec 04 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
php封装的page分页类完整实例
Oct 18 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 PHP
Laravel find in set排序实例
Oct 09 PHP
使用PHP开发留言板功能
Nov 19 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
一个取得文件扩展名的函数
2006/10/09 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
金融专业应届生求职信
2013/11/02 职场文书
社会实践心得体会
2014/01/03 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
2015年国培研修感言
2015/08/01 职场文书
MySQL 聚合函数排序
2021/07/16 MySQL
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL