首页 > 高性能 > 缓存技术

如何将session数据保存到memcache中,以及memcache的生存周期
时间:2014-02-28 09:29:01  点击: 来源:  作者:

将session 的数据保存到memcache中session的数据默认情况下,保存在file 文件中但是我们可以通过修改php的配置,让他保存在其他地方(1)、打开D:/lamp/php/php.ini。session.save_handler = files是开着的,把它注释 ...

session 的数据保存到memcache

session的数据默认情况下,保存在file 文件中

但是我们可以通过修改php的配置,让他保存在其他地方

(1)、打开D:/lamp/php/php.inisession.save_handler = files是开着的,把它注释了

 

Session内容保存路径,添加画红线的那句话

修改好了测试一下

Session.php

//
<?php

session_start();

$_SESSION['name']='whj';

?>

Get_session.php

<?php

session_start();

$name=$_SESSION['name'];

echo $name;

?>

输出whj正确

(2)、但是如何获得session变量的时候,不再是name属性,而是通过session_id来保存的

session_id :浏览器访问服务器的时候,服务器给浏览器分配session_id 然后在通过session_id找对应的值

例:

 

session_start();

$_SESSION['age']='whjwhj';

$sess_id=session_id();

var_dump($sess_id);

//运行出来是string(26) "dmkppdo0qhbkq099fo608an383" ,在telnet中运行get dmkppdo0qhbkq099fo608an383的出age|s:6:"whjwhj";

 

如果没有权限修改php的配置怎么办?

ini_set() 可以在php文件中,设置php的一些配置

安全问题:现在谁都可以访问我的memcache,别人访问我的telnet 192.168.2.200也能访问,

解决之道:防火墙

 

上面session的使用时修改了php.ini配置文件,现在做的是不用修改配置文件直接在文件开头加上:

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

ini_set('session.save_path','tcp://127.0.0.1:11211');告诉它是用session保存到memcache

例:

//

<?php

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

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

session_start();

class Hot{

         public $name;

         public $color;

         public function __construct($name,$color){

                   $this->name=$name;

                   $this->color=$color;

                   }

         }

 $hot=new Hot('xiaobei','white');

 $_SESSION['hot']=$hot;

?>

Get_ini_session.php

<?php

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

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

session_start();

class Hot{

         public $name;

         public $color;

         public function __construct($name,$color){

                   $this->name=$name;

                   $this->color=$color;

                   }

         }

$hot=$_SESSION['hot'];

var_dump($hot);

?>

7Memcache的生存周期:

重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。

如果设置expire0,表示永远不过期,直到机器重启或服务重启

 http://blog.csdn.net/whjwhja6/article/details/9182671

”您可通过以下微信二维码,赞赏作者“
 
 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
windows如何挂载webdav?
windows如何挂载webda
linux服务器同步互联网时间
linux服务器同步互联
亚马逊云lightsail服务器使用教程 | 亚马逊云lightsail使用指南
亚马逊云lightsail服
hostdare 4折优惠,直接降价60% 美国洛杉矶低至 $10.4/年 768M内存/1核/10gNVMe/500g流量
hostdare 4折优惠,直接
相关文章
栏目更新
栏目热门

关于我们 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | WAP | RSS


Copyright © 运维之家 2013-2024