一、Memcache簡介
內存緩存技術:memcache是實現php語言 對內存 進行操作的中間介質
MemCache的工作流程如下:先檢查客戶端的請求數據是否在memcached中,如有,直接把請求數據返回,不再對數據庫進行任何操作;如果請求的數據不在memcached中,就去查數據庫,把從數據庫中獲取的數據返回給客戶端,同時把數據緩存一份到memcached中(memcached客戶端不負責,需要程序明確實現);每次更新數據庫的同時更新memcached中的數據,保證一致性;當分配給memcached內存空間用完之后,會使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效數據首先被替換,然后再替換掉最近未使用的數據
二、Memcache和memcached的區別
Memcache是這個項目的名稱,而memcached是它服務器端的主程序文件名。
四、Memcache的服務器端和客戶端安裝(向php中添加模塊):
1.解壓memcache源碼包:
tar axf memcache-2.2.5.tgz
2.將前邊php編譯完成的二進制命令加入環境變量中,保證可以直接調用php命令
vim /root/.bash_profilPATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/nginx/sbin:/usr/local/lnmp/php/binesource /root/.bash_profile
3.創建一個預編譯環境并進行編譯匯編memcache源碼包
phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊,比如你想在原來編譯好的php中加入memcached或者ImageMagick等擴展模塊,可以使phpize。
或者說,phpize的作用可以這樣理解:偵測環境(phpize工具是在php安裝目錄下,基于這點phpize對應了當時的php環境,所以是要根據該php的配置情況生成對應的configure文件),建立一個configure文件。必須在一個目錄下去運行phpize。那么phpize就知道你的的環境是哪個目錄,并且configure文件建立在該目錄下。
cd memcache-2.2.5 phpize./configure # 源碼編譯,已經安裝好了php,我們就不用再指定新的php擴展模塊路徑make make install
5.編譯完成后,提示我們進入php/extensions/no-debug-non-zts-20131226/目錄,在這個目錄中的我們可以查看php中已經添加的模塊,發現還沒有我們的memcache模塊,因此我們去到php的配置文件中添加memcache模塊。
cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/php -m | grep memcache 過濾memcache模塊,發現現在還沒有cd /usr/local/lnmp/php/etc/ vim php.ini # 編輯php的配置文件873 extension=memcache.so # 將873行memcache模塊的注釋打開/etc/init.d/php-fpm reload # 重載phpphp -m | grep memcache # 再次過濾memcache模塊
6.安裝memcache服務端
yum install memcached # 安裝memcached服務端/etc/init.d/memcached start # 打開memcached服務netstat -antlp # memcached監聽11211端口
cd memcache-2.2.5rpm -q memcached # 查看memcached的配置文件
7.設置memcached的密碼
cd /usr/local/lnmp/nginx/html/vim example.php # 僅僅查看,是php代碼vim memcache.php
訪問example.php:
訪問memcache.php:
輸入密碼后:(右邊可以看到HIT命中率)
8.訪問測試,查看安裝了memcache模塊后,再瀏覽器處訪問安裝了memcache和未i安裝memcache的網也,查看性能的變化
(1)訪問 index.php后,我們可以分析一下瀏覽器的并發行和出錯情況
處理情況:
可以看到每秒處理的訪問請求為384個,出錯個數為84個
(2)按照同樣的測試方法,我們測試訪問example.php
可以看到每秒處理的訪問請求為940個,出錯個數為0個,速度提高了將近三倍,錯誤率大大降低
(3)在瀏覽器處多次訪問example.php,查看命中情況為百分之百。
相關文章推薦:
Nginx中的Rewrite偽靜態法則的講解(詳細)
Nginx配置PHP的詳細步驟
以上就是memcache(內存緩存技術)對php頁面訪問的速度影響(圖文)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答