|
MediaWiki master
|
Interface for the persistence layer of LocalisationCache. More...
Inherited by MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.
Public Member Functions | |
| finishWrite () | |
| Finish a cache write transaction. | |
| get ( $code, $key) | |
| Get a value. | |
| lateFallback () | |
| Can this cache type delay fallback lookups to read time? | |
| set ( $key, $value) | |
| Set a key to a given value. | |
| startWrite ( $code) | |
| Start a cache write transaction. | |
Interface for the persistence layer of LocalisationCache.
The persistence layer is a two-level hierarchical cache. The first level is the language, the second level is the item or subitem.
Since the data for a whole language is rebuilt in one operation, it needs to have a fast and atomic method for deleting or replacing all the current data for a given language. The interface reflects this bulk update operation. Callers writing to the cache must first call startWrite(), then will call set() a couple of thousand times, then will call finishWrite() to commit the operation. When finishWrite() is called, the cache is expected to delete all data previously stored for that language.
The values stored are PHP variables suitable for serialize(). Implementations of LCStore are responsible for serializing and unserializing.
Definition at line 28 of file LCStore.php.
| MediaWiki\Language\LCStore::finishWrite | ( | ) |
Finish a cache write transaction.
Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.
| MediaWiki\Language\LCStore::get | ( | $code, | |
| $key ) |
Get a value.
| string | $code | Language code |
| string | $key | Cache key |
Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.
| MediaWiki\Language\LCStore::lateFallback | ( | ) |
Can this cache type delay fallback lookups to read time?
Returning true will cause the fallbacks to be skipped when recaching data, and instead performed via multiple reads if necessary at runtime.
This is best when performing lookups is extremely low-cost, such as LCStoreStaticArray with the lateFallback option.
When reading from disk or network, trading off the space for fewer lookups may still be a win. Returning false will keep the classic behavior of pre-filling all the fallback chains for each language.
Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.
| MediaWiki\Language\LCStore::set | ( | $key, | |
| $value ) |
Set a key to a given value.
startWrite() must be called before this is called, and finishWrite() must be called after.
| string | $key | |
| mixed | $value |
Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.
| MediaWiki\Language\LCStore::startWrite | ( | $code | ) |
Start a cache write transaction.
| string | $code | Language code |
Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.