用memcache做session共享


测试的前题:

在WEB负载均衡状态下,当用户在WEB1服务器登陆,下次在进行任意操作时,可能会在WEB2,WEB3...中进行请求的处理,因此,在非WEB1的服务器中是不会有SESSION的,到此,需要用到SESSION共享存储来解决该问题。


  1. 将session以memcache扩展库进行存储数据


<?php 
//首先用memcache的扩展session存储器进行设置
ini_set('session.save_handler', 'memcache'); //session的处理方式为:memcache
ini_set('session.save_path', 'tcp://127.0.0.1:11211');//session的保存位置为memcache服务器的地址+端口
session_start();
$_SESSION['address']  = 'shandong_printce';




2.测试存储的session是否存在,用于在不同的WEB服务器中检查用户是否登陆

<?php 
//在memcached中读取session的数据,是以session_id()作为key的
$session_id = session_id();
$memcache = new memcache;
$memcache->connect('127.0.0.1',11211); //本地测试,这里需要填写 memcached的服务器所在ip与端口
if($memcache->get($session_id)){
echo 'LOGIN, SUCCESS...';
}

以上为个人测试并做记录,如有不正确的地方,欢迎广大朋友留言指正,相互学习。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章