MediaWiki master
LCStore Interface Reference

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

Inherited by LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.

Public Member Functions

 finishWrite ()
 Finish a cache write transaction.
 
 get ( $code, $key)
 Get a value.
 
 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 40 of file LCStore.php.

Member Function Documentation

◆ finishWrite()

LCStore::finishWrite ( )

Finish a cache 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 after.

Parameters
string$key
mixed$value

Implemented in LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.

◆ startWrite()

LCStore::startWrite (   $code)

Start a cache write transaction.

Parameters
string$codeLanguage code

Implemented in LCStoreCDB, LCStoreDB, LCStoreNull, and LCStoreStaticArray.


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