将session 的数据保存到memcache中 【修改php.ini】
session的数据默认情况下,保存在file 文件中
但是我们可以通过修改php的配置,让他保存在其他地方
(1)、打开D:\lamp\php/php.ini。session.save_handler = files是开着的,把它注释了
Session内容保存路径,添加画红线的那句话
我们进行测试一下::
- session_start();
- $_SESSION['name']='hahaha';
- $name=$_SESSION['name'];
- echo $name;
没有权限修改php的配置 或者 不想永久的把session保存到memcache中
ini_set() 可以在php文件中,设置php的一些配置
【安全问题:现在谁都可以访问我的memcache,别人访问我的telnet 192.168.2.200也能访问,-----------解决之道:防火墙】
上面session的使用时修改了php.ini配置文件,现在做的是不用修改配置文件直接在文件开头加上:
- ini_set('session.save_handler','memcache');
- ini_set('session.save_path','127.0.0.1:11211'); //告诉它用session保存到mamcache中
- session_start();
- $name = $_SESSION['name']='哈哈哈';
- $age = $_SESSION['age']=100;
- echo $_SESSION['name'];
- echo '<br/>';
- echo $_SESSION['age'];
如何将储存到memcache中的session信息输出
获得session变量的时候,不再是name属性,而是通过session_id来保存的
session_id :浏览器访问服务器的时候,服务器给浏览器分配session_id 然后在通过session_id找对应的值
- session_start();
- $name = $_SESSION['name']='哈哈哈';
- $age = $_SESSION['age']=100;
- $sess_id=session_id();
- var_dump($sess_id); //输出的是session下的所有数据
如果想取到session下某个值 还像原来的echo $_SESSION['name'];
Memcache的生存周期:
重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。
如果设置expire为0,表示永远不过期,直到机器重启或服务重启
作者原地址:https://blog.csdn.net/dutiantian_csdn/article/details/80540206