Heim  >  Artikel  >  Backend-Entwicklung  >  PHP将session保存到memcache服务器

PHP将session保存到memcache服务器

WBOY
WBOYOriginal
2016-06-20 12:57:11754Durchsuche


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

[plain] view plaincopy

  • session.save_handler = files  

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


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

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

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

    方式一:

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

    [plain] view plaincopy

  • session.save_handler = memcache  

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


  • 方式二:

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

    [php] view plaincopy

  • ....  

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

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

  • ....  

  • ?>  


  • 重启 Web 服务器!

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

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

    telnet memcache服务器 端口号


    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn