用memcache做session共享


測試的前題:

在WEB負載均衡狀態下,當用戶在WEB1服務器登陸,下次在進行任意操作時,可能會在WEB2,WEB3...中進行請求的處理,因此,在非WEB1的服務器中是不會有SESSION的,到此,需要用到SESSION共享存儲來解決該問題。


  1. 將session以memcache擴展庫進行存儲數據


<?php 
//首先用memcache的擴展session存儲器進行設置
ini_set('session.save_handler', 'memcache'); //session的處理方式爲:memcache
ini_set('session.save_path', 'tcp://127.0.0.1:11211');//session的保存位置爲memcache服務器的地址+端口
session_start();
$_SESSION['address']  = 'shandong_printce';




2.測試存儲的session是否存在,用於在不同的WEB服務器中檢查用戶是否登陸

<?php 
//在memcached中讀取session的數據,是以session_id()作爲key的
$session_id = session_id();
$memcache = new memcache;
$memcache->connect('127.0.0.1',11211); //本地測試,這裏需要填寫 memcached的服務器所在ip與端口
if($memcache->get($session_id)){
echo 'LOGIN, SUCCESS...';
}

以上爲個人測試並做記錄,如有不正確的地方,歡迎廣大朋友留言指正,相互學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章