MediaWiki  REL1_22
LCStore Interface Reference

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

Inheritance diagram for LCStore:

List of all members.

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 997 of file LocalisationCache.php.


Member Function Documentation

Finish a write transaction.

Implemented in LCStore_Null, LCStore_CDB, LCStore_DB, and LCStore_Accel.

LCStore::get ( code,
key 
)

Get a value.

Parameters:
string$codeLanguage code
string$keyCache key

Implemented in LCStore_Null, LCStore_CDB, LCStore_DB, and LCStore_Accel.

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 LCStore_Null, LCStore_CDB, LCStore_DB, and LCStore_Accel.

LCStore::startWrite ( code)

Start a write transaction.

Parameters:
string$codeLanguage code

Implemented in LCStore_Null, LCStore_CDB, LCStore_DB, and LCStore_Accel.


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