*/
function wfMemcKey( /*...*/ ) {
return call_user_func_array(
- array( ObjectCache::getMainClusterInstance(), 'makeKey' ),
+ array( ObjectCache::getLocalClusterInstance(), 'makeKey' ),
func_get_args()
);
}
$args = array_slice( func_get_args(), 2 );
$keyspace = $prefix ? "$db-$prefix" : $db;
return call_user_func_array(
- array( ObjectCache::getMainClusterInstance(), 'makeKeyInternal' ),
+ array( ObjectCache::getLocalClusterInstance(), 'makeKeyInternal' ),
array( $keyspace, $args )
);
}
*/
function wfGlobalCacheKey( /*...*/ ) {
return call_user_func_array(
- array( ObjectCache::getMainClusterInstance(), 'makeGlobalKey' ),
+ array( ObjectCache::getLocalClusterInstance(), 'makeGlobalKey' ),
func_get_args()
);
}
* Stored only on the individual web server.
* Not associated with other servers.
*
- * - ObjectCache::getMainClusterInstance()
- * Purpose: Memory storage for per-cluster coordination and tracking.
- * Stored centrally within the local data-center.
- * Not replicated to other DCs.
- * Also known as $wgMemc. Configured by $wgMainCacheType.
- *
* - ObjectCache::getMainWANInstance()
* Purpose: Cache.
* Stored in the local data-center's main cache (uses different cache keys).
*
* - ObjectCache::getMainStashInstance()
* Purpose: Ephemeral storage.
- * Stored centrally within the local data-center.
- * Changes are replicated to other DCs (eventually consistent).
+ * Stored centrally within the primary data-center.
+ * Changes are applied there first and replicated to other DCs (best-effort).
* To retrieve the latest value (e.g. not from a slave), use BagOStuff:READ_LATEST.
* This store may be subject to LRU style evictions.
*
+ * - ObjectCache::getLocalClusterInstance()
+ * Purpose: Memory storage for per-cluster coordination and tracking.
+ * A typical use case would be a rate limit counter or cache regeneration mutex.
+ * Stored centrally within the local data-center. Not replicated to other DCs.
+ * Also known as $wgMemc. Configured by $wgMainCacheType.
+ *
* - wfGetCache( $cacheType )
* Get a specific cache type by key in $wgObjectCaches.
*
* @since 1.27
* @return BagOStuff
*/
- public static function getMainClusterInstance() {
+ public static function getLocalClusterInstance() {
global $wgMainCacheType;
return self::getInstance( $wgMainCacheType );
}
public function testWfMemcKey() {
- $cache = ObjectCache::getMainClusterInstance();
+ $cache = ObjectCache::getLocalClusterInstance();
$this->assertEquals(
$cache->makeKey( 'foo', 123, 'bar' ),
wfMemcKey( 'foo', 123, 'bar' )
}
public function testWfForeignMemcKey() {
- $cache = ObjectCache::getMainClusterInstance();
+ $cache = ObjectCache::getLocalClusterInstance();
$keyspace = $this->readAttribute( $cache, 'keyspace' );
$this->assertEquals(
wfForeignMemcKey( $keyspace, '', 'foo', 'bar' ),
}
public function testWfGlobalCacheKey() {
- $cache = ObjectCache::getMainClusterInstance();
+ $cache = ObjectCache::getLocalClusterInstance();
$this->assertEquals(
$cache->makeGlobalKey( 'foo', 123, 'bar' ),
wfGlobalCacheKey( 'foo', 123, 'bar' )