Jump to content

Manual:$wgWANObjectCaches

From mediawiki.org
Revision as of 15:36, 19 March 2023 by Mainframe98 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Cache: $wgWANObjectCaches
Advanced Wide-Area-Network cache configuration.
Introduced in version:1.26.0 (Gerrit change 187074; git #3a1f8b11)
Removed in version:1.40.0 (Gerrit change 889244; git #39ead04e)
Allowed values:(array)
Default value:see below

Details

[edit]

Each WAN cache wraps a registered object cache (for the local cluster) and it must also be configured to point to a PubSub instance via a EventRelayer subclass. Subscribers to that instance must be configured to relay purges to the actual cache servers. For typical setups where there is only one cache server, a no-op PubSub instance can be used (EventRelayerNull). This can also be done if there is only one datacenter, assuming either (a) cache network problems are rare enough, or (b) client side cache server fail-over is disabled, or (c) the caching store automatically shards, replicates, and moves data around as nodes fail.

The format is an associative array where the key is a cache identifier, and the value is an associative array of parameters.

  • cacheId - a cache identifier from $wgObjectCaches.
  • relayerConfig - an array used to construct an EventRelayer object.
  • pool - a string that is used as a PubSub channel prefix.
  • loggroup - controls where log events are sent.

Default value

[edit]
MediaWiki version:
1.35
$wgWANObjectCaches = [
	CACHE_NONE => [
		'class' => WANObjectCache::class,
		'cacheId' => CACHE_NONE,
	]
];
MediaWiki versions:
1.33 – 1.34
$wgWANObjectCaches = [
	CACHE_NONE => [
		'class'    => WANObjectCache::class,
		'cacheId'  => CACHE_NONE
	]
	/* Example of a simple single data-center cache:
	'memcached-php' => [
		'class'    => WANObjectCache::class,
		'cacheId'  => 'memcached-php'
	]
	*/
];
MediaWiki versions:
1.31 – 1.32
$wgWANObjectCaches = [
	CACHE_NONE => [
		'class'    => WANObjectCache::class,
		'cacheId'  => CACHE_NONE,
		'channels' => []
	]
	/* Example of a simple single data-center cache:
	'memcached-php' => [
		'class'    => WANObjectCache::class,
		'cacheId'  => 'memcached-php',
		'channels' => [ 'purge' => 'wancache-main-memcached-purge' ]
	]
	*/
];
MediaWiki versions:
1.27 – 1.30
$wgWANObjectCaches = [
	CACHE_NONE => [
		'class'    => 'WANObjectCache',
		'cacheId'  => CACHE_NONE,
		'channels' => []
	]
	/* Example of a simple single data-center cache:
	'memcached-php' => [
		'class'    => 'WANObjectCache',
		'cacheId'  => 'memcached-php',
		'channels' => [ 'purge' => 'wancache-main-memcached-purge' ]
	]
	*/
];
MediaWiki version:
1.26
$wgWANObjectCaches = array(
	CACHE_NONE => array(
		'class'         => 'WANObjectCache',
		'cacheId'       => CACHE_NONE,
		'pool'          => 'mediawiki-main-none',
		'relayerConfig' => array( 'class' => 'EventRelayerNull' )
	)
	/* Example of a simple single data-center cache:
	'memcached-php' => array(
		'class'         => 'WANObjectCache',
		'cacheId'       => 'memcached-php',
		'pool'          => 'mediawiki-main-memcached',
		'relayerConfig' => array( 'class' => 'EventRelayerNull' )
	)
	*/
);