LAMP+Redis緩存數據庫整合

LAMP在企業生產環境中,除了將MYSQL單獨部署在其他服務器、由於MYSQL數據庫壓力會很大,還會對MYSQL實現主從複製及讀寫分離,同時會對PHP網站進行調優,通常PHP的優化手段包括:PHP代碼本身優化、PHP配置文件優化、爲PHP添加緩存模塊,將PHP網站數據存入緩存等。

爲了減輕MYSQL數據庫的壓力,這時就用到了Redis緩存數據庫服務,

LAMP+Redis工作機制:用戶通過瀏覽器訪問LAMP網站,並以用戶名和密碼登錄到網站,默認Redis緩存中沒有該用戶名和密碼對應列表,PHP程序會讀取MYSQL數據庫中的用戶名和密碼,然後將用戶名和密碼緩存至Redis中,下次用戶通過瀏覽器再次使用同樣的用戶名和密碼登錄網站,PHP無需從數據庫中讀取該用戶和密碼信息,而是直接優先從Redis緩存中讀取並返回,從而減輕MYSQL數據庫的壓力。

Redis除了可以緩存用戶名、密碼,還可以換成PHP論壇各種數據,例如用戶帖子、用戶動態等等,如下圖所示:

4b94114b3ae994486c48ab03099a7963.png-wh_

要實現將LAMP PHP網站相關數據存入Redis,需要一臺Redis服務器、PHP-redis連接驅動、PHP代碼連接修改等。

 LAMP+Redis操作案例

LAMP PHP連接Redis,首先需安裝Redis服務器,安裝連接驅動,然後修改PHP網站配置文件,具體操作步驟如下:

(1)          LAMP+Redis實戰環境配置

LAMP服務器:  192.168.149.128

Redis數據庫:   192.168.149.129


(2)          192.168.149.129服務器安裝部署Redis服務,代碼如下

wget      http://download.redis.io/releases/redis-2.8.13.tar.gz  

tar       zxf                redis-2.8.13.tar.gz

cd          redis-2.8.13

make     PREFIX=/usr/local/redis  install

cp       redis.conf     /usr/local/redis/

/usr/local/redis/bin/目錄加入至環境變量配置文件/etc/profile末尾,然後Shell終端執行source /etc/profile讓環境變量生效

export  PATH=/usr/local/redis/bin:$PATH

Nohup後臺啓動及停止Redis服務命令:

nohup  /usr/local/redis/bin/redis-server  /usr/local/redis/redis.conf  &

/usr/local/redis/bin/redis-cli  -p   6379 shutdown

(3)          安裝PHP-Redis連接驅動

要確保PHP能夠連接Redis緩存服務器,需添加PHP Redis擴展程序,也即是添加PHPext擴展模塊,添加方法如下:

wget  https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz

tar   xzf   3.1.2.tar.gz

/usr/local/php5/bin/phpize

cd   phpredis-3.1.2/

./configure   --with-php-config=/usr/local/php5/bin/php-config  --enable-redis

make

make install

修改vim/usr/local/php5/lib/php.ini配置文件,添加redis.so模塊,代碼如下:

extension_dir =  "/usr/local/php5/lib/php/extensions/no-debug-zts-20090626"

extension=redis.so

重啓Apache服務,寫入phpinfo測試頁面,通過瀏覽器訪問,如圖12-9所示,檢查到存在Redis模塊即可:

d8fb3b716c7a8aa62d2064947ead4b0c.png-wh_

(4)          LAMP+Redis緩存測試

登錄192.168.149.128 WEB服務器,修改Discuz PHP網站發佈/usr/local/apache2/htdcos目錄全局配置文件config_global.php,查找CONFIG MEMORY段,將redis  server後改爲Redis主服務器的IP192.168.149.129即可,如下圖所示:

a1980f9e281c81d9d9be987d5c182023.png-wh_

通過瀏覽器訪問Apache PHP論壇網站,同時登陸Redis服務器,執行命令redis-cli進入Redis命令行,運行命令keys *,如下圖所示,存在以IOKLAN開頭的key,則證明Redis成功緩存LAMP+Discuz網站信息數據。

6c9ccc616b953fd747ada48e8fcbdac4.png-wh_







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