MediaWiki REL1_35
|
Functions to get cache objects. More...
Static Public Member Functions | |
static | clear () |
Clear all the cached instances. | |
static | detectLocalServerCache () |
Detects which local server cache library is present and returns a configuration for it. | |
static | getInstance ( $id) |
Get a cached instance of the specified type of cache object. | |
static | getLocalClusterInstance () |
Get the main cluster-local cache object. | |
static | getLocalServerInstance ( $fallback=CACHE_NONE) |
Factory function for CACHE_ACCEL (referenced from DefaultSettings.php) | |
static | makeLocalServerCache () |
Create a new BagOStuff instance for local-server caching. | |
static | newAnything ( $params) |
Factory function for CACHE_ANYTHING (referenced from DefaultSettings.php) | |
static | newFromParams (array $params, Config $conf=null) |
Create a new cache object from parameters. | |
Static Public Attributes | |
static BagOStuff[] | $instances = [] |
Map of (id => BagOStuff) | |
Static Private Member Functions | |
static | getDefaultKeyspace () |
Get the default keyspace for this wiki. | |
static | newFromId ( $id) |
Create a new cache object of the specified type. | |
Functions to get cache objects.
The word "cache" has two main dictionary meanings, and both are used in this factory class. They are:
The former should always use strongly consistent stores, so callers don't have to deal with stale reads. The latter may be eventually consistent, but callers can use BagOStuff:READ_LATEST to see the latest available data.
Primary entry points:
All the above BagOStuff cache instances have their makeKey() method scoped to the current wiki ID. Use makeGlobalKey() to avoid this scoping when using keys that need to be shared amongst wikis.
Definition at line 68 of file ObjectCache.php.
|
static |
Clear all the cached instances.
Definition at line 281 of file ObjectCache.php.
|
static |
Detects which local server cache library is present and returns a configuration for it.
Definition at line 325 of file ObjectCache.php.
References CACHE_NONE, and wfDeprecated().
|
staticprivate |
Get the default keyspace for this wiki.
This is either the value of the CachePrefix
configuration variable, or (if the former is unset) the DBname
configuration variable, with DBprefix
(if defined).
Definition at line 120 of file ObjectCache.php.
References $wgCachePrefix.
Referenced by makeLocalServerCache().
|
static |
Get a cached instance of the specified type of cache object.
string | int | $id | A key in $wgObjectCaches. |
Definition at line 78 of file ObjectCache.php.
|
static |
Get the main cluster-local cache object.
Definition at line 272 of file ObjectCache.php.
References $wgMainCacheType.
|
static |
Factory function for CACHE_ACCEL (referenced from DefaultSettings.php)
This will look for any APC or APCu style server-local cache. A fallback cache can be specified if none is found.
// Direct calls ObjectCache::getLocalServerInstance( $fallbackType ); // From $wgObjectCaches via newFromParams() ObjectCache::getLocalServerInstance( [ 'fallback' => $fallbackType ] );
int | string | array | $fallback | Fallback cache or parameter map with 'fallback' |
InvalidArgumentException |
Definition at line 254 of file ObjectCache.php.
References $cache, $fallback, and CACHE_NONE.
|
static |
Create a new BagOStuff instance for local-server caching.
Only use this if you explicitly require the creation of a fresh instance. Whenever possible, use or inject the object from MediaWikiServices::getLocalServerObjectCache() instead.
NOTE: This method is called very early via Setup.php by ExtensionRegistry, and thus must remain fairly standalone so as to not cause initialization of the MediaWikiServices singleton.
Definition at line 299 of file ObjectCache.php.
References getDefaultKeyspace().
|
static |
Factory function for CACHE_ANYTHING (referenced from DefaultSettings.php)
CACHE_ANYTHING means that stuff has to be cached, not caching is not an option. If a caching method is configured for any of the main caches ($wgMainCacheType, $wgMessageCacheType, $wgParserCacheType), then CACHE_ANYTHING will effectively be an alias to the configured cache choice for that. If no cache choice is configured (by default $wgMainCacheType is CACHE_NONE), then CACHE_ANYTHING will forward to CACHE_DB.
array | $params |
Definition at line 212 of file ObjectCache.php.
References $cache, $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType, CACHE_ANYTHING, CACHE_DB, and CACHE_NONE.
|
staticprivate |
Create a new cache object of the specified type.
string | int | $id | A key in $wgObjectCaches. |
InvalidArgumentException |
Definition at line 93 of file ObjectCache.php.
References $wgObjectCaches, and CACHE_NONE.
|
static |
Create a new cache object from parameters.
array | $params | Must have 'factory' or 'class' property. |
Config | null | $conf | (Since 1.35) |
InvalidArgumentException |
Definition at line 143 of file ObjectCache.php.
|
static |
Map of (id => BagOStuff)
Definition at line 70 of file ObjectCache.php.