如何配置Memcached高速緩存,加快wordpress的速度


Memcached是什么

Memcached是一種高性能的分布式內存對象緩存系統。在動態應用,Memcached既能提高訪問的速度,同時還減低了數據庫的負載。DangaInteractive為提升LiveJournal.com的速度研發了Memcached。目前,LiveJournal.com每天已經在向一百萬用戶提供多達兩千萬次的頁面訪問。而這些,是由一個由Web服務器和數據庫服務器組成的集群完成的。Memcached幾乎完全放棄了任何數據都從數據庫讀取的方式,同時,它還縮短了用戶查看頁面的速度、更好的資源分配方式,以及Memcache失效時對數據庫的訪問速度。

WordPress支持Memcached嗎

是的,WordPress默認支持ObjectCache,所以在WordPress實現Memcached就是使用Memcached把WordPress的ObjectCache寫到內存中去,下次直接從內存中讀取。相比直接從數據庫去讀取數據,或者從ObjectCache數據存到文件,然后從硬盤中讀取,Memcached有很大的速度優勢。

如何配置Memcached高速緩存,加快wordpress的速度

大家直接看下上面的對比圖就能很清楚的看到,Memcached之后的緩存對象的命中率,可以看出命中率是非常高,接近97%,基本上可以保證所有數據都是從能內存中取,所以使用Memcached進行緩存是非常有效的。

配置服務器Memcached服務

1.服務器安裝Memcached,官網上並未提供Memcached的Window平台安裝包,我們可以下鏈接來下載,你需要根據自己的系統平台及需要的版本號點擊對應的鏈接下載即可

32位系統1.2.5版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.2.5-win32-bin.zip

32位系統1.2.6版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.2.6-win32-bin.zip

32位系統1.4.4版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-win32-1.4.4-14.zip

64位系統1.4.4版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-win64-1.4.4-14.zip

32位系統1.4.5版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.4.5-x86.zip

64位系統1.4.5版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.4.5-amd64.zip

在1.4.5版本以前memcached可以作為一個服務安裝,而在1.4.5及之后的版本刪除了該功能。因此我們以下介紹兩個不同版本1.4.4及1.4.5的不同安裝方法:

memcached<1.4.5版本安裝

1、解壓下載的安裝包到指定目錄,可以是C盤也可以是D盤,本站以C盤根目錄為例來說,其他盤符的同理操作。

如何配置Memcached高速緩存,加快wordpress的速度

2、在1.4.5版本以前memcached可以作為一個服務安裝,使用管理員權限運行以下命令:

第一步:用win+r打開cmd輸入cd c:/進入你解壓Memcached所在的盤符

如何配置Memcached高速緩存,加快wordpress的速度

第二步:再輸入cd memcached進入解壓盤符的Memcached文件夾

如何配置Memcached高速緩存,加快wordpress的速度

第三步:再輸入memcached.exe -d install安裝Memcached為系統服務

如何配置Memcached高速緩存,加快wordpress的速度

第四步:啟動Memcached服務輸入memcached.exe -d start

如何配置Memcached高速緩存,加快wordpress的速度

打開服務器的任務管理器,如果看到Memcached.exe的進程,就說明服務已經啟動,每次服務器啟動都會自動啟動。

同理如果需要停止或者卸載Memcached服務,需要執行以下2條命令

c:\memcached\memcached.exe -d stop //停止Memcached服務 c:\memcached\memcached.exe -d uninstall //卸載Memcached服務

memcached的配置項可以在注冊表的如下路徑來修改

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached

memcached使用的緩存內存配置修改ImagePath,執行以下命令

c:\memcached\memcached.exe -d runservice -m 512

此外我們還可以通過使用 "c:\memcached\memcached.exe -h" 命令查看更多的參數配置。

memcached >= 1.4.5 版本安裝

memcached1.4.5 版本之后,memcached 不能作為服務來運行,需要使用任務計划中來開啟一個普通的進程,在 window 啟動時設置 memcached自動執行。

我們使用管理員身份執行以下命令將 memcached 添加來任務計划表中:

schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"

刪除 memcached 的任務計划可以執行以下命令:

schtasks /delete /tn memcached

到此windows服務器的Memcached配置已經完成,接下來就是配置Memcached的PHP擴展

配置服務器Memcached擴展

官方地址:http://pecl.php.net/package/memcache/3.0.8/windows

貌似目前memcache的windowsphp擴展只支持到php5.6版,對於php7.0版本的我都沒有去研究測試,梵天網目前使用的也是php5.6版本,這里有個ts和nts版本的選擇,大家可以在網站新建一個phpinfo.php文件,里面加入 <?php phpinfo(); ?>,用瀏覽器打開這個phpinfo.php,就可以看到網站的php相關信息,打開這個頁面。用CTRL+F查找  Thread Safe,如下圖

如何配置Memcached高速緩存,加快wordpress的速度如果顯示disabled 那么我們就選擇nts版本,如果選擇enabled 那么就選擇ts版本

順便普及下ts和nts的區別

Ts與nts的區別:

Windows版的PHP從版本5.2.1開始有Thread Safe和NoneThread Safe之分。

先從字面意思上理解,Thread Safe是線程安全,執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的CGI執行方式而耗盡系統資源。Non Thread Safe是非線程安全,在執行時不進行線程(Thread)安全檢查。

ISAPI執行php選擇ts ,FastCGI執行php請選擇nts

將下載好的php_memcache.dll到你php的ext目錄下,如果你的服務器是多版本php,請一定選擇好你網站的php版本的ext目錄下。

再打開php下面PHP.ini進行配置,

在PHP的配置文件中:php.ini 的底部加上以下的代碼:

[memcache] extension = php_memcache.dll

4.重新啟動IIS,然后查看一下phpinfo.php,如果有memcache這個項目,那么就恭喜安裝成功!

接下來就是全文的重點,wordpress如何配置memcache緩存

wordpress配置memcache緩存

下載 WordPress Memcached 插件:http://wordpress.org/extend/plugins/memcached/

下載好這個object-cache.php 復制到 wp-content,注意不是 wp-content/plugins/。

WordPress 會自動檢查在 wp-content 目錄下是否有 object-cache.php 文件,如果有,直接調用它作為 WordPress 對象緩存機制。

到此整個教程結束,大楷的總結下 主要三大步

1. 服務器配置memcached服務 2.服務器安裝memcached PHP擴展3.下載wordpressd的Memcached插件

Memcached還有其他的一些常用的命令如下

 -p 監聽的端口 -l 連接的IP地址, 默認是本機 -d start 啟動memcached服務 -d restart 重起memcached服務 -d stop|shutdown 關閉正在運行的memcached服務 -d install 安裝memcached服務 -d uninstall 卸載memcached服務 -u 以的身份運行 (僅在以root運行的時候有效) -m 最大內存使用,單位MB。默認64MB -M 內存耗盡時返回錯誤,而不是刪除項 -c 最大同時連接數,默認是1024 -f 塊大小增長因子,默認是1.25 -n 最小分配空間,key+value+flags默認是48 -h 顯示幫助

來源:https://www.svlik.com/994.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM