MediaWiki
1.33.0
|
Public Member Functions | |
__construct (BagOStuff $cache, $cacheEpoch='20030516000000') | |
Setup a cache pathway with a given back-end storage mechanism. More... | |
deleteOptionsKey ( $page) | |
get ( $article, $popts, $useOutdated=false) | |
Retrieve the ParserOutput from ParserCache. More... | |
getCacheStorage () | |
Get the backend BagOStuff instance that powers the parser cache. More... | |
getDirty ( $article, $popts) | |
Retrieve the ParserOutput from ParserCache, even if it's outdated. More... | |
getETag ( $article, $popts) | |
Provides an E-Tag suitable for the whole page. More... | |
getKey ( $article, $popts, $useOutdated=self::USE_ANYTHING) | |
Generates a key for caching the given article considering the given parser options. More... | |
save (ParserOutput $parserOutput, $page, $popts, $cacheTime=null, $revId=null) | |
Static Public Member Functions | |
static | singleton () |
Get an instance of this object. More... | |
Public Attributes | |
const | USE_ANYTHING = 3 |
Use expired data and data from different revisions, and if all else fails vary on all variable options. More... | |
const | USE_CURRENT_ONLY = 0 |
Constants for self::getKey() More... | |
const | USE_EXPIRED = 1 |
Use expired data if current data is unavailable. More... | |
const | USE_OUTDATED = 2 |
Use expired data or data from different revisions if current data is unavailable. More... | |
Protected Member Functions | |
getOptionsKey ( $page) | |
getParserOutputKey ( $article, $hash) | |
Private Member Functions | |
incrementStats ( $article, $metricSuffix) | |
Private Attributes | |
string | $cacheEpoch |
Anything cached prior to this is invalidated. More... | |
BagOStuff | $mMemc |
Definition at line 30 of file ParserCache.php.
ParserCache::__construct | ( | BagOStuff | $cache, |
$cacheEpoch = '20030516000000' |
|||
) |
Setup a cache pathway with a given back-end storage mechanism.
This class use an invalidation strategy that is compatible with MultiWriteBagOStuff in async replication mode.
BagOStuff | $cache | |
string | $cacheEpoch | Anything before this timestamp is invalidated |
MWException |
Definition at line 80 of file ParserCache.php.
References $cache, and $cacheEpoch.
ParserCache::deleteOptionsKey | ( | $page | ) |
WikiPage | $page |
Definition at line 113 of file ParserCache.php.
References getOptionsKey().
ParserCache::get | ( | $article, | |
$popts, | |||
$useOutdated = false |
|||
) |
Retrieve the ParserOutput from ParserCache.
false if not found or outdated.
WikiPage | Article | $article | |
ParserOptions | $popts | |
bool | $useOutdated | (default false) |
Definition at line 240 of file ParserCache.php.
References $article, $value, getKey(), incrementStats(), BagOStuff\READ_VERIFIED, Hooks\run(), wfDebug(), and wfDebugLog().
ParserCache::getCacheStorage | ( | ) |
Get the backend BagOStuff instance that powers the parser cache.
Definition at line 373 of file ParserCache.php.
References $mMemc.
ParserCache::getDirty | ( | $article, | |
$popts | |||
) |
Retrieve the ParserOutput from ParserCache, even if it's outdated.
WikiPage | $article | |
ParserOptions | $popts |
Definition at line 143 of file ParserCache.php.
ParserCache::getETag | ( | $article, | |
$popts | |||
) |
Provides an E-Tag suitable for the whole page.
Note that $article is just the main wikitext. The E-Tag has to be unique to the whole page, even if the article itself is the same, so it uses the complete set of user options. We don't want to use the preference of a different user on a message just because it wasn't used in $article. For example give a Chinese interface to a user with English preferences. That's why we take into account all user options. (r70809 CR)
WikiPage | $article | |
ParserOptions | $popts |
Definition at line 131 of file ParserCache.php.
References $article, ParserOptions\allCacheVaryingOptions(), getParserOutputKey(), and ContextSource\getTitle().
ParserCache::getKey | ( | $article, | |
$popts, | |||
$useOutdated = self::USE_ANYTHING |
|||
) |
Generates a key for caching the given article considering the given parser options.
WikiPage | $article | |
ParserOptions | $popts | |
int | bool | $useOutdated | One of the USE constants. For backwards compatibility, boolean false is treated as USE_CURRENT_ONLY and boolean true is treated as USE_ANYTHING. |
Definition at line 181 of file ParserCache.php.
References $article, ParserOptions\allCacheVaryingOptions(), getOptionsKey(), getParserOutputKey(), ContextSource\getTitle(), incrementStats(), ParserOptions\newFromUser(), BagOStuff\READ_VERIFIED, USE_ANYTHING, USE_CURRENT_ONLY, wfDebug(), wfDebugLog(), and wfWarn().
Referenced by get().
|
protected |
WikiPage | $page |
Definition at line 105 of file ParserCache.php.
Referenced by deleteOptionsKey(), getKey(), and save().
|
protected |
WikiPage | $article | |
string | $hash |
Definition at line 90 of file ParserCache.php.
References $article, and $wgRequest.
|
private |
WikiPage | $article | |
string | $metricSuffix |
Definition at line 152 of file ParserCache.php.
References $article, and wfIncrStats().
ParserCache::save | ( | ParserOutput | $parserOutput, |
$page, | |||
$popts, | |||
$cacheTime = null , |
|||
$revId = null |
|||
) |
ParserOutput | $parserOutput | |
WikiPage | $page | |
ParserOptions | $popts | |
string | null | $cacheTime | TS_MW timestamp when the cache was generated |
int | null | $revId | Revision ID that was parsed |
Definition at line 309 of file ParserCache.php.
References CacheTime\getCacheExpiry(), getOptionsKey(), getParserOutputKey(), ParserOutput\getUsedOptions(), ParserOutput\hasText(), Hooks\run(), CacheTime\setCacheRevisionId(), CacheTime\setCacheTime(), ParserOutput\setTimestamp(), wfDebug(), and wfTimestampNow().
|
static |
Get an instance of this object.
Definition at line 66 of file ParserCache.php.
|
private |
Anything cached prior to this is invalidated.
Definition at line 59 of file ParserCache.php.
Referenced by __construct().
|
private |
Definition at line 52 of file ParserCache.php.
Referenced by getCacheStorage().
const ParserCache::USE_ANYTHING = 3 |
Use expired data and data from different revisions, and if all else fails vary on all variable options.
Definition at line 49 of file ParserCache.php.
Referenced by getKey().
const ParserCache::USE_CURRENT_ONLY = 0 |
Constants for self::getKey()
Definition at line 37 of file ParserCache.php.
Referenced by getKey().
const ParserCache::USE_EXPIRED = 1 |
Use expired data if current data is unavailable.
Definition at line 40 of file ParserCache.php.
const ParserCache::USE_OUTDATED = 2 |
Use expired data or data from different revisions if current data is unavailable.
Definition at line 43 of file ParserCache.php.