Help:更新服务器缓存:修订间差异

帮助页面
添加的内容 删除的内容
无编辑摘要
第1行: 第1行:
{{操作指南|WP:PURGE|WP:缓存|WP:快取}}
{{操作指南|QW:PURGE|QW:缓存|QW:CACHE}}
{{NoteTA
{{NoteTA
| G1 = MediaWiki
| G1 = MediaWiki
第5行: 第5行:
}}
}}


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


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


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


== 過程 ==
== 過程 ==


當一個維基頁面被更改時,[[Mediawiki]],也就是維基百科的主系統軟體,會將更改存在主資料庫當中。下一次當未登入的用戶看到這個頁面,主[[資料庫]]會自動複製一份「主機快取」(Server Cache)(在第二個)到用戶主機上。一直到這個頁面的下一次更改前,未登的用戶都會看到這個複製到他主機上的畫面,這一點有利于减轻主資料庫的負荷。
當一個求闻百科頁面被更改時,[[Mediawiki]],也就是求闻百科的主系統软件,會將更改存在主数据库當中。下一次當未登入的用戶看到這個頁面,主[[資料庫]]會自動複製一份「主機缓存」(Server Cache)(在第二個到用戶主機上。一直到這個頁面的下一次更改前,未登的用戶都會看到這個複製到他主機上的畫面,這一點有利于减轻主数据库的負荷。


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


== 更新快取方法 ==
== 更新缓存方法 ==


=== 向服务器请求清除缓存 ===
=== 向服务器请求清除缓存 ===
[[File:MediaWiki-Purging-URL.png|thumb|300px|在URL后加入<code>?action=purge</code>]]
[[File:MediaWiki-Purging-URL.png|thumb|300px|在URL后加入<code>?action=purge</code>]]


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


=== 零编辑 ===
=== 零编辑 ===
第31行: 第31行:


# 点击页面顶部的“编辑”标签;
# 点击页面顶部的“编辑”标签;
# 不做<u>任何</u>更改,直接点击编辑区下方的“發佈變更”。{{efn|在[[Wikipedia:移动访问|移动版网页]]中,无法在不做任何更改时发布变更。建议在此情况下在页面中加入并删除某一字符,并且除此之外不做<u>任何</u>更改,并保存变更。}}
# 不做<u>任何</u>更改,直接点击编辑区下方的“發佈變更”。{{efn|在[[QW:移动访问|移动版网页]]中,无法在不做任何更改时发布变更。建议在此情况下在页面中加入并删除某一字符,并且除此之外不做<u>任何</u>更改,并保存变更。}}


零编辑一般不会保存,通常不会记录任何更改。如果你输入编辑摘要,它通常会被忽略。在代码<u>最后</u>加入换行通常也是零编辑。尾部的换行通常被忽略。然而章节编辑有时候会产生变化并被保存。
零编辑一般不会保存,通常不会记录任何更改。如果你输入编辑摘要,它通常会被忽略。在代码<u>最后</u>加入换行通常也是零编辑。尾部的换行通常被忽略。然而章节编辑有时候会产生变化并被保存。
第41行: 第41行:
; 缺点
; 缺点
: 若不能编辑页面,则自然无法做出零编辑。若你想更新分类和反链却又无法做出零编辑,那就只能等待。<u>这取决于服务器在更新前的繁忙程度,这可能是数天。分类链接更新会置于[[Help:工作队列|工作队列]],服务器会在低负载时重建缓存。</u>
: 若不能编辑页面,则自然无法做出零编辑。若你想更新分类和反链却又无法做出零编辑,那就只能等待。<u>这取决于服务器在更新前的繁忙程度,这可能是数天。分类链接更新会置于[[Help:工作队列|工作队列]],服务器会在低负载时重建缓存。</u>

可以直接使用[[User:WhitePhosphorus-bot/controls/purge]]來處理


请不要将零编辑和[[Help:空编辑|空编辑]]混淆。空编辑<u>会</u>修改源代码,虽然这种变动很小。
请不要将零编辑和[[Help:空编辑|空编辑]]混淆。空编辑<u>会</u>修改源代码,虽然这种变动很小。
第48行: 第46行:
=== 自定义配置 ===
=== 自定义配置 ===


您可以通過在'''参数设置''' -> '''[[Special:参数设置#mw-prefsection-gadgets|小工具]]''' -> '''浏览工具'''一节中选中“UTC时钟”,然后保存。之后浏览页面时,点击右上角的UTC时钟即可清除页面缓存。
您可以通過在您的用戶子頁面—— [[Special:Mypage/common.js|User:您的用戶名/common.js]]中增加代碼,'''在維基上排標籤式功能中,加上一個清除缓存按鈕'''。

請單擊打开[[Special:Mypage/common.js|您的common.js頁面]],並加入以下代碼:
<syntaxhighlight lang="javascript">
mw.loader.load('/wiki/User:AnYiLin/js/PurgePageCache.js?action=raw&ctype=text/javascript');
</syntaxhighlight>

另一种方法是在'''参数设置''' -> '''[[Special:参数设置#mw-prefsection-gadgets|小工具]]''' -> '''浏览工具'''一节中选中“UTC时钟”,然后保存。之后浏览页面时,点击右上角的UTC时钟即可清除页面缓存。


== 注释 ==
== 注释 ==