-MediaWiki has optional support for memcached, a "high-performance,
-distributed memory object caching system". For general information
+MediaWiki has optional support for memcached, a "high-performance,
+distributed memory object caching system". For general information
on it, see: http://www.danga.com/memcached/
Memcached is likely more trouble than a small site will need, but
== Installation ==
Packages are available for Fedora, Debian, Ubuntu and probably other
-Linux distributions. If you there's no package available for your
+Linux distributions. If there's no package available for your
distribution, you can compile it from source.
== Compilation ==
* memcached: http://www.danga.com/memcached/download.bml
(as of this writing, 1.1.9 is current)
-
+
Memcached and libevent are under BSD-style licenses.
The server should run on Linux and other Unix-like systems... you
the internet can put data into and read data from your cache.
An attacker familiar with MediaWiki internals could use this to steal
-passwords and email addresses, or to make themselves a sysop and
-install malicious javascript on the site. There may be other types
-of vulnerability, no audit has been done -- so be safe and keep it
+passwords and email addresses, or to make themselves a sysop and
+install malicious javascript on the site. There may be other types
+of vulnerability, no audit has been done -- so be safe and keep it
behind a firewall.
********************* W A R N I N G ! ! ! ! ! ***********************
key: $wgDBname:lag_times
ex: wikidb:lag_times
stores: array mapping the database id to its lag time
- expriy: 5 secondes
+ expiry: 5 secondes
cleared by: nothing
Localisation:
ex: wikidb:messages, wikidb:messages-hash, wikidb:messages-status
stores: an array where the keys are DB keys and the values are messages
set in: wfMessage(), Article::editUpdates() and Title::moveTo()
- expriy: $wgMsgCacheExpiry
+ expiry: $wgMsgCacheExpiry
cleared by: nothing
Newtalk:
Parser Cache:
stored in: $parserMemc
- controlled by: $wgEnableParserCache
key: $wgDBname:pcache:idhash:$pageid-$renderkey!$hash
$pageid: id of the page
$renderkey: 1 if action=render, 0 otherwise
ex: wikidb:revisiontext:textid:1012
stores: text of a revision
cleared by: nothing
- expriry: $wgRevisionCacheExpiry
+ expiry: $wgRevisionCacheExpiry
Sessions:
controlled by: $wgSessionsInObjectCache
key: $wgBDname:session:$id
ex: wikidb:session:38d7c5b8d3bfc51egf40c69bc40f8be3
stores: $SESSION, useful when using a multi-sever wiki
- expriy: one hour
+ expiry: one hour
cleared by: session_destroy()
Sidebar:
key: $wgDBname:sidebar
ex: wikidb:sidebar
stores: the html output of the sidebar
- expriy: $wgSidebarCacheExpiry
+ expiry: $wgSidebarCacheExpiry
cleared by: MessageCache::replace()
Special:Allpages:
Special:Recentchanges?action=purge&feed=atom,
but note need $wgGroupPermissions[...]['purge'] permission.
-Statistics:
- controlled by: $wgStatsMethod
- key: $wgDBname:stats:$key
- ex: wikibd:stats:request_with_session
- stores: counter for statistics (see maintenance/showCacheStats.php script)
- expiry: none (?)
- cleared by: maintenance/clearCacheStats.php script
-
-User:
- key: $wgDBname:user:id:$sId
- ex: wikidb:user:id:51
- stores: instance of class User
- set in: User::saveToCache()
- cleared by: User::saveSettings(), User::clearSharedCache()
-
... more to come ...