麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > CMS > Wordpress > 正文

讓W(xué)ordPress使用Redis緩存來進行加速

2024-09-07 00:52:43
字體:
供稿:網(wǎng)友

Redis是一個高級的keyvalue存儲系統(tǒng),類似memcached,所有內(nèi)容都存在內(nèi)存中,因此每秒鐘可以超過10萬次GET操作。

我下面提出的解決方案是在Redis中緩存所有輸出的HTML內(nèi)容而無需再讓W(xué)ordPress重復(fù)執(zhí)行頁面腳本。這里使用Redis代替Varnish設(shè)置簡單,而且可能更快。

安裝Redis

如果你使用的是Debian或者衍生的操作系統(tǒng)可使用如下命令安裝Redis

aptgetinstallredisserver

或者閱讀安裝指南

使用Predis作為Redis的PHP客戶端

你需要一個客戶端開發(fā)包以便PHP可以連接到Redis服務(wù)上。

這里我們推薦Predis.上傳predis到WordPress的根目錄。

前端緩存的PHP腳本

步驟1 在WordPress的根目錄創(chuàng)建新文件withredis,內(nèi)容如下

  1. Changethesetwovariables: 
  2.  
  3. $seconds_of_caching=60 60 24 7;7days. 
  4.  
  5. $ip_of_this_website='204.62.14.112'
  6.  
  7. ThisfileiswrittenbyJimWestergren,copyrightallrightsreserved. 
  8.  
  9. Seemorehere:jimwestergrenwordpresswithredisasafrontendcache 
  10.  
  11. Thecodeisfreeforeveryonetousehowtheywantbutpleasementionmynameandlinktomyarticlewhenwritingaboutthis. 
  12.  
  13. Change$ip_of_this_websitetotheIPofyourwebsiteabove
  14.  
  15. Add?refresh=yestotheendofaURLtorefreshit'scache 
  16.  
  17. Youcanalsoentertheredisclientviathecommandpromptwiththecommand"rediscli"andthenremoveallcachewiththecommand"flushdb"
  18.  
  19. VerynecessaryifyouuseCloudfare: 
  20.  
  21. ifisset$_SERVER['HTTP_CF_CONNECTING_IP']{ 
  22.  
  23. $_SERVER['REMOTE_ADDR']=$_SERVER['HTTP_CF_CONNECTING_IP']; 
  24.  
  25.  
  26. ThisisfromWordPress: 
  27.  
  28. define'WP_USE_THEMES',true; 
  29.  
  30. Startthetimer: 
  31.  
  32. functiongetmicrotime$t
  33.  
  34. list$usec,$sec=explode"",$t
  35.  
  36. returnfloat$usec+float$sec
  37.  
  38.  
  39. $start=microtime; 
  40.  
  41. InitiateredisandthePHPclientforredis: 
  42.  
  43. include"predis"
  44.  
  45. $redis=newPredis/Client''
  46.  
  47. fewvariables: 
  48.  
  49. $current_page_url="".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
  50.  
  51. $current_page_url=str_replace'?refresh=yes','',$current_page_url
  52.  
  53. $redis_key=md5$current_page_url
  54.  
  55. Thisfirstcaseiseithermanualrefreshcachebyadding?refresh=yesaftertheURLorsomebodypostingacomment 
  56.  
  57. ifisset$_GET['refresh']||substr$_SERVER['REQUEST_URI'],12=='?refresh=yes'||$_SERVER['HTTP_REFERER']==$current_page_url$_SERVER['REQUEST_URI']!=''$_SERVER['REMOTE_ADDR']!=$ip_of_this_website
  58.  
  59. require'.wpblogheader'
  60.  
  61. $redisdel$redis_key
  62.  
  63. Secondcase:cacheexistinredis,let'sdisplayit 
  64.  
  65. }elseif$redisexists$redis_key
  66.  
  67. $html_of_current_page=$redisget$redis_key
  68.  
  69. echo$html_of_current_page
  70.  
  71. echo"!Thisiscache 
  72.  
  73. third:anormalvisitorwithoutcache.Anddonotcacheapreviewpagefromthewpadmin: 
  74.  
  75. }elseif$_SERVER['REMOTE_ADDR']!=$ip_of_this_websitestrstr$current_page_url,'preview=true'==false{ 
  76.  
  77. require'.wpblogheader'
  78.  
  79. $html_of_current_page=file_get_contents$current_page_url
  80.  
  81. $redissetex$redis_key,$seconds_of_caching,$html_of_current_page
  82.  
  83. echo"!Cachehasbeenset 
  84.  
  85. lastcase:thenormalWordPress.Shouldonlybecalledwithfile_get_contents: 
  86.  
  87. }else
  88.  
  89. require'.wpblogheader'
  90.  
  91.  
  92. Let'sdisplaysomepagegenerationtimenote:CloudFlaremaystripo utcomments: 
  93.  
  94. $end=microtime; 
  95.  
  96. $t2=getmicrotime$endgetmicrotime$start
  97.  
  98. if$_SERVER['REMOTE_ADDR']!=$ip_of_this_website
  99. //Vevb.com 
  100. echo"!CachesystembyJimWestergren.Pagegeneratedin".round$t2,5."seconds. 
  101.  

或者直接下載withredis

步驟2 將上述代碼中的IP替換成你的IP

步驟3 在.htaccess中將所有出現(xiàn)的地方改為withredis,如果你使用的是Nginx則修改nginx.conf中的為withredis并重載Nginx killallsHUPnginx。

性能測試

1.沒有Redis的情況下,平均執(zhí)行1.614秒,頁0.174秒無任何緩存插件

2.使用Redis的情況下,平均頁面執(zhí)行時間0.00256秒

我已經(jīng)在我的博客中使用了如上的方法進行加速很長時間了,一切運行良好。

其他建議

我的環(huán)境是Nginx+PHPFPM+APC+Cloudflare+Redis.安裝在一個nanoVPS中,無緩存插件。

請確認(rèn)使用了gzip壓縮,可加快訪問速度。

訪問wpadmin

要訪問wpadmin必須使用wpadmin代替原來的wpadmin.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人精品aaaa网站 | 免费看日产一区二区三区 | 国产精品自拍啪啪 | 黄色大片www| 免费观看国产视频 | 蜜桃网在线 | 羞羞视频免费网站男男 | 欧美成人视 | 久久免费综合视频 | 男女羞羞视频在线免费观看 | 欧美精品久久久久久久久久 | 97青青草视频 | 日本在线不卡免费 | 精品一区二区视频在线观看 | 欧美精品一级 | 羞羞色在线观看 | 黄色网址进入 | 色骚综合 | 欧美成人精品不卡视频在线观看 | 成人精品一区二区 | 成人免费网站在线观看视频 | 91av大片| 国产精品久久久久久婷婷天堂 | 国产免费高清 | 日韩电影av在线 | 欧美性受xxxx白人性爽 | 91精品国产综合久久久动漫日韩 | 免费在线观看毛片视频 | av在线播放电影 | 日本黄色一级视频 | 视频www| a黄色网| 国产理论视频在线观看 | 今井夏帆av一区二区 | 亚洲人成中文字幕在线观看 | 欧美成人视 | 黄色片快播 | 久久精品国产一区二区 | 成人免费乱码大片a毛片视频网站 | 久久精品9 | 久久精品视频国产 |