session存储在memcache

传统session的数据是在硬盘的文件存储的

该session很大情况用于存储用户相关信息。用于判断一个用户是否登录系统

两个服务器的session是文件形成存储的,则他们的session相互可以通信的

用户访问搜狐视频,是与多个服务器访问的。Memcache(session)给多个服务器提供session

一个网站是有多个服务器支撑的,用户在服务器1里边登录系统,其session持久化的信息


具体案例

第一步 关于在php.ini中session的设置


第2步 创建文件

//实现session在memcache中实现

ini_set("session.save_handler","memcache");

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

//正常的session操作

session_start();

$_SESSION['username']='周行知';


?>

获取session

//实现session在memcache中实现

ini_set("session.save_handler","memcache");

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

//正常的session操作

session_start();

var_dump($_SESSION['username']);


?>

输出结果:


第三代码

//实现session在memcache中实现

ini_set("session.save_handler","memcache");

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

//正常的session操作

session_start();

echo session_id();

//var_dump($_SESSION['username']);

//get 25kbkstfc3ioh4sg5fo4vbl0b5

//创建一个memcache对象

///$memcache = new Memcache;

//连接Memcached服务器

//$memcache->addServer('127.0.0.1', 11211);

//$memcache->addServer('127.0.0.1', 11212);

//$memcache->addServer('127.0.0.1', 11213);

//设置key

////$memcache->set('city','beijing',0);

//$memcache->set('city1','hunan',0);

//$memcache->set('city2','chongqing',0);

//echo $memcache->get('city');

?>

获取结果:

25kbkstfc3ioh4sg5fo4vbl0b5

问题:session去哪儿呢?

答案:memcache

get   25kbkstfc3ioh4sg5fo4vbl0b5


怎么分布式操作?

//实现session在memcache中实现

ini_set("session.save_handler","memcache");

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

//正常的session操作

session_start();

echo session_id();

//var_dump($_SESSION['username']);

//get 25kbkstfc3ioh4sg5fo4vbl0b5

//创建一个memcache对象

///$memcache = new Memcache;a

//连接Memcached服务器

//$memcache->addServer('127.0.0.1', 11211);

//$memcache->addServer('127.0.0.1', 11212);

//$memcache->addServer('127.0.0.1', 11213);

//设置key

////$memcache->set('city','beijing',0);

//$memcache->set('city1','hunan',0);

//$memcache->set('city2','chongqing',0);

//echo $memcache->get('city');

?>

你可能感兴趣的:(session存储在memcache)