LNMP架構之Memcache分佈式交叉存儲實現php頁面訪問速度與命中率的提高

1.memcache介紹

memcache是高性能的分佈式內存式的高速緩存服務器。 一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度。通過在內存裏維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。

MemCache的工作流程:
先檢查客戶端的請求數據是否在memcached中,如有,直接把請求數據返回,不再對數據庫進行任何操作;如果請求的數據不在memcached中,就去查數據庫,把從數據庫中獲取的數據返回給客戶端,同時把數據緩存一份到memcached中(memcached客戶端不負責,需要程序明確實現);每次更新數據庫的同時更新memcached中的數據,保證一致性;當分配給memcached內存空間用完之後,會使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效數據首先被替換,然後再替換掉最近未使用的數據。

注意:memcache是php的擴展模塊,memcached是主程序


2.LNMP實現memcache

2.1 安裝memcache插件

ln -s /usr/local/lnmp/php/bin/* /usr/local/bin/做Php軟鏈接
source /etc/profile使環境變量生效
yum install -y autoconf
tar zxf memcache-4.0.5.2.tgz解壓軟件包
cd memcache-4.0.5.2/
phpize在目錄下生成軟件配置目錄

./configure --with-php-config=/usr/local/lnmp/php/bin/php-config預編譯,指定php配置文件路徑
make && make install編譯安裝

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


注意:php的擴展模塊都可以用phpize在目錄下生成配置目錄
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


2.2 配置memcache的編譯目錄到配置文件

vim /usr/local/lnmp/php/etc/php.ini

762 extension_dir = /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20190902/

 914 extension=openssl.so
 915 extension=memcache.so

/etc/init.d/php-fpm reload重新加載配置
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


2.3 設置memcached服務

yum install -y memcached.x86_64
systemctl start memcached.service

在這裏插入圖片描述
在這裏插入圖片描述
測試:
yum install -y telnet
telnet localhost 11211

stats ##查看狀態
set name 0 0 6
get name
delete name

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


2.4 測試memcache加速訪問

cp /soft/memcache-4.0.5.2/memcache.php example.php /usr/local/lnmp/nginx/html/拷貝測試頁到nginx發佈目錄
vim /usr/local/lnmp/nginx/html/memcache.php
nginx -s reload重新加載nginx

在這裏插入圖片描述
在這裏插入圖片描述

vim /usr/local/lnmp/nginx/html/example.php
在這裏插入圖片描述


測試:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


在這裏插入圖片描述
在這裏插入圖片描述

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