维基百科:清除缓存
清除缓存是一種手動讓伺服器清除暫時存取舊頁面的方式,英語叫做Purge。當用戶使用這個功能時,可以看到整頁被軟體馬上更新為新版本,而不會看到舊的缓存页面。
對有些加上了大量外部頁面、或是模板的維基百科页面來說,剛加上模版時,也許沒有辦法馬上看到,這時使用清除缓存是有幫助的。
目前維基使用一個簡易模版來讓使用者強迫更新該頁面,用法是{{purge|清除缓存}},非常簡單。
給那些想要知道過程的好奇宝宝[编辑]
當一個維基頁面被更改時,Mediawiki,也就是維基百科的主系統軟體,會將更改存在主資料庫當中。下一次當未登入的用戶看到這個頁面,主資料庫會自動複製一份「服务器缓存」(Server Cache)(在第二個)到用戶主機上。一直到這個頁面的下一次更改前,未登入的用戶都會看到這個複製到他主機上的畫面,這一點有利于减轻主資料庫的負荷。
登入的用戶則可以選擇,是否要在個人設定當中選「觀看主機快取」、「現在的即時檔」
一般來說,當頁面更動造成,就會有一個小小的標記「更動過」傳回給網站的主機,這個標記意味著用戶的主機可複製一份快取。不過,當頁面讀取的是許多頁面的一部份,例如,分類頁面讀取的是很多條目的標題,主題首頁的頁面讀取的是很多模板上的資訊,這個頁面上,「更動過」的小小標記就不會被處理(因為更新的並非該頁面資料,而是該頁面內包其他頁面的資料),於是主機也不會製造一份快取,那麼其他如未登入的用戶所看到的,就會是舊的快取,而非更新後的頁面。
清除缓存這個功能,事實上使用的僅是加在條目連結後的一段語法,寫成「&action=purge」,一但操作它之後,主機快取就會被刪除,替代之最新版本,包括內含的模板、頁面標題等,都會以最新的更改版本取代。
給經常需要清除頁面缓存的維基愛用者[编辑]
您可以通過在您的用戶子頁面—— User:您的用戶名/commons.js中增加代碼,在維基上排標籤式功能中,加上一個清除缓存按鈕。
請單擊打开您的commons.js頁面,並加入以下代碼:
addOnloadHook(function () { var hist; var url; if (!(hist = document.getElementById('ca-history') )) return; if (!(url = hist.getElementsByTagName('a')[0] )) return; if (!(url = url.href )) return; addPortletLink('p-cactions', url.replace(/([?&]action=)history([&#]|$)/, '$1purge$2'), wgULS('清理缓存'), 'ca-purge', wgULS('清理服务器缓存'), 'p'); });