MediaWiki fundraising/REL1_35
LCStore Interface Reference

Interface for the persistence layer of LocalisationCache. More...

Inheritance diagram for LCStore:

Public Member Functions

 finishWrite ()
 Finish a write transaction.
 
 get ( $code, $key)
 Get a value.
 
 set ( $key, $value)
 Set a key to a given value.
 
 startWrite ( $code)
 Start a write transaction.
 

Detailed Description

Interface for the persistence layer of LocalisationCache.

The persistence layer is 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 of 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 38 of file LCStore.php.

Member Function Documentation

◆ finishWrite()

LCStore::finishWrite ( )

Finish a write transaction.

Implemented in LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.

◆ get()

LCStore::get ( $code,
$key )

Get a value.

Parameters
string$codeLanguage code
string$keyCache key

Implemented in LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.

◆ set()

LCStore::set ( $key,
$value )

Set a key to a given value.

startWrite() must be called before this is called, and finishWrite() must be called afterwards.

Parameters
string$key
mixed$value

Implemented in LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.

◆ startWrite()

LCStore::startWrite ( $code)

Start a write transaction.

Parameters
string$codeLanguage code

Implemented in LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.


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