PHP将session保存到memcache服务器


传统的 session 是写入到服务器文件中,可以在 php.ini 中看出,清单如下

[plain] view plaincopy

  1. session.save_handler = files  

  2. session.save_path = "sess保存路径"  


但是,如果网站用户很多的话,session 的访问将势必影响网站的速度。因为文件的读取速度是很低的。

众所周知,memcache 作为内存缓存服务器,通过哈希算法,把数据以key->value的形式进行读取,其速度是远远高于文件的读取。

将 session 保存到 memcache 服务器的配置如下:

方式一:

打开 php.ini 文件,修改下面两个参数:

[plain] view plaincopy

  1. session.save_handler = memcache  

  2. session.save_path = "tcp://Mem服务器1:端口号,tcp://Mem服务器2:端口号..."  


方式二:

在 php 文件中使用 ini_set 函数,进行配置,此方法会解决共享服务器的 php 的配置问题

[php] view plaincopy

  1. <?php  

  2. ....  

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

  4. ini_set("session.save_path""tcp://Mem服务器1:端口号,tcp://Mem服务器2:端口号...");  

  5. ....  

  6. ?>  


重启 Web 服务器!

这时,session 将不会以文件的形式保存,而是保存到 Memcache 服务器,保存的 key 为 session_id

telnet 到 memcache 服务器,进行 get 查看

telnet memcache服务器 端口号

技术分享


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。