Help:更新服务器缓存

本页使用了标题或全文手工转换,现处于不转换模式
帮助页面

更新服务器缓存(又称清除缓存,英语:Purge)是一種手動讓服务器清除暫時存取舊頁面的方式。當用戶使用這個功能時,可以看到整頁被软件馬上更新為新版本,而不會看到舊的缓存页面。

對有些加上了大量外部頁面、或是模板的求闻百科页面來說,剛加上模版時,也許沒有辦法馬上看到,這時使用清除缓存是有幫助的。

目前求闻百科使用一個簡易模版來讓使用者強迫更新該頁面,用法是模板链接:{{purge}},非常簡單。

過程

當一個求闻百科頁面被更改時,MediaWiki會將更改存在主数据库當中。下一次當未登入的用戶看到這個頁面,主資料庫會自動複製一份「主機缓存」(Server Cache)(在第二個)到用戶主機上。一直到這個頁面的下一次更改前,未登录的用戶都會看到這個複製到他主機上的畫面,這一點有利于减轻主数据库的負荷。

一般來說,當頁面更動造成,就會有一個小小的標記「更動過」傳回給網站的主機,這個標記意味著用戶的主機可複製一份缓存。不過,當頁面讀取的是許多頁面的一部份,例如,分類頁面讀取的是很多條目的標題,主題首頁的頁面讀取的是很多模板上的資訊,這個頁面上,「更動過」的小小標記就不會被處理(因為更新的並非該頁面資料,而是該頁面內包其他頁面的資料),於是主機也不會製造一份缓存,那麼其他如未登入的用戶所看到的,就會是舊的缓存,而非更新後的頁面。

更新缓存方法

向服务器请求清除缓存

在URL后加入?action=purge,然后点击“确认”按钮

清除缓存,事實上使用的僅是加在條目連結後的一段語法,寫成「?action=purge」。操作之後,主機缓存就會被刪除,替代之最新版本,包括內含的模板、頁面標題等,都會以最新的更改版本取代。或者用Special:Purge,输入要刷新的页面名称也能实现同样的效果。

自定义配置

启用“UTC时钟”工具后,点击时间区域,脚本向服务器发送一个POST请求,即可刷新当前服务器上的缓存。

您可以通過在参数设置 → 小工具 → “浏览工具”一节中选中“UTC时钟”,然后保存。之后,当浏览页面时,点击右上角的UTC时钟即可清除页面缓存。

零编辑

如果目标页面可以编辑,则可通过零编辑更新缓存:

  1. 点击页面顶部的“编辑”标签;
  2. 不做任何更改,直接点击编辑区下方的“發佈變更”。

零编辑一般不会保存,通常不会记录任何更改。如果你输入编辑摘要,它通常会被忽略。在代码最后加入换行通常也是零编辑。尾部的换行通常被忽略。然而章节编辑有时候会产生变化并被保存。

保护与移动页面也会更新缓存。

优点
对于修改模板后,欲更新分类和“链入页面”显示,其它任何方法都无效,唯有零编辑能更新缓存。
缺点
若不能编辑页面,则自然无法做出零编辑。若你想更新分类和反链却又无法做出零编辑,那就只能等待。这取决于服务器在更新前的繁忙程度,这可能是数天。分类链接更新会置于工作队列,服务器会在低负载时重建缓存。

请不要将零编辑和空编辑混淆。空编辑修改源代码,虽然这种变动很小。

参见