维基百科:更新伺服器缓存
本页为操作指南,用于介绍中文维基百科社群的一些实现和操作方式。 本文只是论述,不属于方针或指引。如果本指南与方针或指引起冲突或不一致,请以方针或指引的条文为准。 |
更新伺服器缓存(又称清除缓存,英语:Purge)是一种手动让伺服器清除暂时存取旧页面的方式。当用户使用这个功能时,可以看到整页被软件马上更新为新版本,而不会看到旧的缓存页面。
对有些加上了大量外部页面、或是模板的维基百科页面来说,刚加上模版时,也许没有办法马上看到,这时使用清除缓存是有帮助的。
目前维基百科使用一个简易模版来让用户强迫更新该页面,用法是{{purge}}。
过程
当一个维基页面被更改时,MediaWiki,也就是维基百科的主系统软件,会将更改存在主数据库当中。下一次当未登录的用户看到这个页面,主数据库会自动复制一份“主机缓存”(Server Cache)(在第二个)到用户主机上。一直到这个页面的下一次更改前,未登录的用户都会看到这个复制到他主机上的画面,这一点有利于减轻主数据库的负荷。
一般来说,当页面更动造成,就会有一个小小的标记“更动过”传回给网站的主机,这个标记意味着用户的主机可复制一份缓存。不过,当页面读取的是许多页面的一部分,例如,分类页面读取的是很多条目的标题,主题主页的页面读取的是很多模板上的资讯,这个页面上,“更动过”的小小标记就不会被处理(因为更新的并非该页面资料,而是该页面内包其他页面的资料),于是主机也不会制造一份缓存,那么其他如未登录的用户所看到的,就会是旧的缓存,而非更新后的页面。
更新缓存方法
向伺服器请求清除缓存
清除缓存,事实上使用的仅是加在条目链接后的一段语法,写成“?action=purge
”,一但操作它之后,主机缓存就会被删除,替代之最新版本,包括内含的模板、页面标题等,都会以最新的更改版本取代。或者用Special:Purge,输入要刷新的页面名称也能实现同样的效果。
零编辑
如果目标页面可以编辑,则可通过零编辑更新缓存:
- 点击页面顶部的“编辑”标签;
- 不做任何更改,直接点击编辑区下方的“发布更改”。[a]
零编辑一般不会保存,通常不会记录任何更改。如果你输入编辑摘要,它通常会被忽略。在代码最后加入换行通常也是零编辑。尾部的换行通常被忽略。然而章节编辑有时候会产生变化并被保存。
保护与移动页面也会更新缓存。
- 优点
- 对于修改模板后,欲更新分类和“链入页面”显示,其它任何方法都无效,唯有零编辑能更新缓存。
- 缺点
- 若不能编辑页面,则自然无法做出零编辑。若你想更新分类和反链却又无法做出零编辑,那就只能等待。这取决于伺服器在更新前的繁忙程度,这可能是数天。分类链接更新会置于工作队列,伺服器会在低负载时重建缓存。
可以直接使用User:WhitePhosphorus-bot/controls/purge来处理
请不要将零编辑和空编辑混淆。空编辑会修改原始码,虽然这种变动很小。
自定义配置
您可以通过在您的用户子页面—— User:您的用户名/common.js中增加代码,在维基上排标签式功能中,加上一个清除缓存按钮。
请单击打开您的common.js页面,并加入以下代码:
mw.loader.load('/wiki/User:AnYiLin/js/PurgePageCache.js?action=raw&ctype=text/javascript');
另一种方法是在参数设置 -> 小工具 -> 浏览工具一节中选中“UTC时钟”,然后保存。之后浏览页面时,点击右上角的UTC时钟即可清除页面缓存。