php+redis實現(xiàn)多臺服務器內(nèi)網(wǎng)存儲session并讀取示例
大型網(wǎng)站由于大并發(fā)的問題會導致系統(tǒng)出現(xiàn)詭異的崩潰性問題這著實讓人很是蛋疼,首先考慮的就是負載均衡服務器來處理這個,當然數(shù)據(jù)庫的性能也是非常非常重要的,今天就說下在負載均衡情況下對于session這個問題如何處理,說實話不處理session其實也是可以的,但是在實際的情況中會出現(xiàn)一些讓用戶體驗非常蛋疼的問題,比如購物下單的時候負載均衡調(diào)配服務器來回切換的過程中session丟失了,這個時候就尷尬了,用戶就會郁悶我擦這什么鬼,于是乎各種擔心就會出現(xiàn),這破網(wǎng)站是不是有什么安全問題等等。下面就來說說這個問題的解決方案,配置php結(jié)合redis來存儲session,假如我現(xiàn)在有2個(至少)服務器在做負載均衡:
1,主服務器安裝php-redis 以及redis服務器端這個不多說去執(zhí)行命令行yum或apt-get什么的,輔服務器只需要安裝php-redis(這兩個服務器必須在一個內(nèi)網(wǎng)中不然外網(wǎng)訪問著實不安全的)
2,來吧騷年打開的你服務器上的php.ini文件:
先看看php extension=redis.so是否開啟
session.save_handler = redis session.save_path = "tcp://【redis主服務器的內(nèi)網(wǎng)ip】:6379″
主和輔服務器的php-redis需要綁定一下ip(ip一致主服務器的redis-server)
redis.conf bind【redis主服務器的內(nèi)網(wǎng)ip】
這個為了安全起見設置一個redis鏈接的密碼:
打開 vim /etc/redis/redis.conf
requirepass 通信密碼(修改這里)
ok配置好重啟redis :
sudo service redis-server restart
3,測試Redis連接和驗證:
redis-cli -h 【redis主服務器內(nèi)網(wǎng)ip】
如果設置了redis鏈接密碼,現(xiàn)在嘗試訪問數(shù)據(jù),應該得到一個AUTH錯誤接下來執(zhí)行下
> redis-cli redis內(nèi)網(wǎng)ip:6397> keys *
ok了到這步的時候已經(jīng)完成99%了還差一步就是各種重啟額
service apache2 restart service php5-fpm restart
4,測試session是否寫入redis:
<?php session_start(); $_SESSION['bieanju'] = array('name' => '別安駒', 'num' => 'http://www.bieanju.com/'); //連接redis $redis = $this->connectRedis(); // //檢查session_id echo 'session_id:' . session_id() . '<br/>'; //redis存入的session(redis用session_id作為key,以string的形式存儲) echo 'redis_session:' . $redis->get('PHPREDIS_SESSION:' . session_id()) . '<br/>'; echo 'php_session:' . json_encode($_SESSION['class']); print_r($_SESSION['bieanju']); ?>
速來圍觀,沒錯session寫入redis了可以讀取了,ok至此對于負載均衡的session也就基本解決了,剩下的就是在項目如何應用那就看你自己的業(yè)務需要。
最后在說一下php是世界上最好的語言,呵呵……
相關(guān)文章
yii2分頁之實現(xiàn)跳轉(zhuǎn)到具體某頁的實例代碼
這篇文章主要介紹了yii2分頁之實現(xiàn)跳轉(zhuǎn)到具體某頁的實例代碼的相關(guān)資料,需要的朋友可以參考下2016-06-063個PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實例
這篇文章主要介紹了3個PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實例,分別使用foreach、for、while三種循環(huán)方法來實現(xiàn),需要的朋友可以參考下2014-03-03php函數(shù)mkdir實現(xiàn)遞歸創(chuàng)建層級目錄
當我們想在自己的站點中添加多級目錄時,可以運用php函數(shù)mkdir()來實現(xiàn)這個功能。具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-10-10PHP把數(shù)字轉(zhuǎn)成人民幣大寫的函數(shù)分享
這篇文章主要介紹了PHP把數(shù)字轉(zhuǎn)成人民幣大寫的函數(shù)分享,最后效果參考了一個百度APP,滿足大部份情況,需要的朋友可以參考下2014-06-06