傳統的 session 是寫入到服務器文件中,可以在 php.ini 中看出,清單如下
session.save_handler = files
session.save_path = "sess保存路徑"
但是,如果網站用戶很多的話,session 的訪問將勢必影響網站的速度。因爲文件的讀取速度是很低的。
衆所周知,memcache 作爲內存緩存服務器,通過哈希算法,把數據以key->value的形式進行讀取,其速度是遠遠高於文件的讀取。
將 session 保存到 memcache 服務器的配置如下:
方式一:
打開 php.ini 文件,修改下面兩個參數:
session.save_handler = memcache
session.save_path = "tcp://Mem服務器1:端口號,tcp://Mem服務器2:端口號..."
方式二:
在 php 文件中使用 ini_set 函數,進行配置,此方法會解決共享服務器的 php 的配置問題
<?php
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服務器 端口號