MediaWiki master
MediaWiki\Language\LCStore Interface Reference

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.
 

Detailed Description

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.

Member Function Documentation

◆ finishWrite()

MediaWiki\Language\LCStore::finishWrite ( )

◆ get()

MediaWiki\Language\LCStore::get ( $code,
$key )

Get a value.

Parameters
string$codeLanguage code
string$keyCache key

Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.

◆ lateFallback()

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.

◆ set()

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.

Parameters
string$key
mixed$value

Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.

◆ startWrite()

MediaWiki\Language\LCStore::startWrite ( $code)

Start a cache write transaction.

Parameters
string$codeLanguage code

Implemented in MediaWiki\Language\LCStoreCDB, MediaWiki\Language\LCStoreDB, MediaWiki\Language\LCStoreNull, and MediaWiki\Language\LCStoreStaticArray.


The documentation for this interface was generated from the following file: