Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
|
The static data store class. More...
Public Member Functions | |
cleanup () | |
create_clone (array $details=array()) | |
Creates a clone of this store instance ready to be initialised. More... | |
delete ($key) | |
Deletes an item from the cache store. More... | |
delete_many (array $keys) | |
Deletes several keys from the cache in a single action. More... | |
get ($key) | |
Retrieves an item from the cache store given its key. More... | |
get_many ($keys) | |
Retrieves several items from the cache store in a single transaction. More... | |
get_warnings () | |
Can be overridden to return any warnings this store instance should make to the admin. More... | |
initialise (cache_definition $definition) | |
Initialises a new instance of the cache store given the definition the instance is to be used for. More... | |
instance_created () | |
Performs any necessary operation when the store instance has been created. More... | |
instance_deleted () | |
Performs any necessary operation when the store instance is being deleted. More... | |
is_initialised () | |
Returns true if this cache store instance has been initialised. More... | |
is_ready () | |
Returns true if this cache store instance is ready to use. More... | |
is_searchable () | |
Returns true if the store instance is searchable. More... | |
my_name () | |
Returns the name of this store instance. More... | |
purge () | |
Purges the cache deleting all items within it. More... | |
set ($key, $data) | |
Sets an item in the cache given its key and data value. More... | |
set_many (array $keyvaluearray) | |
Sets many items in the cache in a single transaction. More... | |
supports_data_guarantee () | |
Returns true if the store instance guarantees data. More... | |
supports_dereferencing_objects () | |
Returns true if the store automatically dereferences objects. More... | |
supports_multiple_identifiers () | |
Returns true if the store instance supports multiple identifiers. More... | |
supports_native_ttl () | |
Returns true if the store instance supports native ttl. More... | |
Static Public Member Functions | |
static | are_requirements_met () |
Static method to check if the store requirements are met. More... | |
static | can_add_instance () |
Returns true if the user can add an instance of the store plugin. More... | |
static | get_supported_features (array $configuration=array()) |
Returns the supported features as a binary flag. More... | |
static | get_supported_modes (array $configuration=array()) |
Returns the supported modes as a binary flag. More... | |
static | initialise_test_instance (cache_definition $definition) |
Generates an instance of the cache store that can be used for testing. More... | |
static | is_supported_mode ($mode) |
Static method to check if a store is usable with the given mode. More... | |
static | ready_to_be_used_for_testing () |
Returns true if this cache store instance is both suitable for testing, and ready for testing. More... | |
static | unit_test_configuration () |
Generates the appropriate configuration required for unit testing. More... | |
Public Attributes | |
const | DEREFERENCES_OBJECTS = 16 |
The cache store dereferences objects. More... | |
const | IS_SEARCHABLE = 8 |
The cache is searchable by key. | |
const | MODE_APPLICATION = 1 |
Application caches. More... | |
const | MODE_REQUEST = 4 |
Request caches. More... | |
const | MODE_SESSION = 2 |
Session caches. More... | |
const | STATIC_ACCEL = '** static accel. **' |
Static caches. | |
const | SUPPORTS_DATA_GUARANTEE = 2 |
Ensures data remains in the cache once set. | |
const | SUPPORTS_MULTIPLE_IDENTIFIERS = 1 |
Supports multi-part keys. | |
const | SUPPORTS_NATIVE_TTL = 4 |
Supports a native ttl system. | |
Static Protected Member Functions | |
static | flush_store () |
Flushes all of the values from all stores. More... | |
static | flush_store_by_id ($id) |
Flushes the store of all values for belonging to the store with the given id. More... | |
static & | register_store_id ($id) |
Returns a static store by reference... REFERENCE SUPER IMPORTANT. More... | |
The static data store class.
|
staticinherited |
Static method to check if the store requirements are met.
bool | True if the stores software/hardware requirements have been met and it can be used. False otherwise. |
Implemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
staticinherited |
Returns true if the user can add an instance of the store plugin.
bool |
Reimplemented in cachestore_dummy, cachestore_session, and cachestore_static.
|
inherited |
|
inherited |
Creates a clone of this store instance ready to be initialised.
This method is used so that a cache store needs only be constructed once. Future requests for an instance of the store will be given a cloned instance.
If you are writing a cache store that isn't compatible with the clone operation you can override this method to handle any situations you want before cloning.
array | $details | An array containing the details of the store from the cache config. |
cache_store |
|
abstractinherited |
Deletes an item from the cache store.
string | $key | The key to delete. |
bool | Returns true if the operation was a success, false otherwise. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
abstractinherited |
Deletes several keys from the cache in a single action.
array | $keys | The keys to delete |
int | The number of items successfully deleted. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
staticprotected |
Flushes all of the values from all stores.
|
staticprotected |
Flushes the store of all values for belonging to the store with the given id.
string | $id |
|
abstractinherited |
Retrieves an item from the cache store given its key.
string | $key | The key to retrieve |
mixed | The data that was associated with the key, or false if the key did not exist. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
abstractinherited |
Retrieves several items from the cache store in a single transaction.
If not all of the items are available in the cache then the data value for those that are missing will be set to false.
array | $keys | The array of keys to retrieve |
array | An array of items from the cache. There will be an item for each key, those that were not in the store will be set to false. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
staticinherited |
Returns the supported features as a binary flag.
array | $configuration | The configuration of a store to consider specifically. |
int | The supported features. |
Implemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
staticinherited |
Returns the supported modes as a binary flag.
array | $configuration | The configuration of a store to consider specifically. |
int | The supported modes. |
Implemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
inherited |
Can be overridden to return any warnings this store instance should make to the admin.
This should be used to notify things like configuration conflicts etc. The warnings returned here will be displayed on the cache configuration screen.
string[] | An array of warning strings from the store instance. |
Reimplemented in cachestore_memcached.
|
abstractinherited |
Initialises a new instance of the cache store given the definition the instance is to be used for.
This function should be used to run any definition specific setup the store instance requires. Tasks such as creating storage areas, or creating indexes are best done here.
Its important to note that the initialise method is expected to always succeed. If there are setup tasks that may fail they should be done within the __construct method and should they fail is_ready should return false.
cache_definition | $definition |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
staticinherited |
Generates an instance of the cache store that can be used for testing.
Returns an instance of the cache store, or false if one cannot be created.
cache_definition | $definition |
cache_store|false |
Implemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
inherited |
Performs any necessary operation when the store instance has been created.
Reimplemented in cachestore_file.
|
inherited |
Performs any necessary operation when the store instance is being deleted.
This method may be called before the store has been initialised.
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
abstractinherited |
Returns true if this cache store instance has been initialised.
bool |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
inherited |
Returns true if this cache store instance is ready to use.
bool |
Reimplemented in cachestore_file, cachestore_memcached, cachestore_mongodb, and cachestore_redis.
|
inherited |
Returns true if the store instance is searchable.
bool |
|
staticinherited |
Static method to check if a store is usable with the given mode.
int | $mode | One of cache_store::MODE_* |
Implemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
abstractinherited |
Returns the name of this store instance.
string |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
abstractinherited |
Purges the cache deleting all items within it.
boolean | True on success. False otherwise. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
staticinherited |
Returns true if this cache store instance is both suitable for testing, and ready for testing.
Cache stores that support being used as the default store for unit and acceptance testing should override this function and return true if there requirements have been met.
bool |
Reimplemented in cachestore_apcu, cachestore_memcached, cachestore_mongodb, and cachestore_redis.
|
staticprotected |
Returns a static store by reference... REFERENCE SUPER IMPORTANT.
string | $id |
array |
|
abstractinherited |
Sets an item in the cache given its key and data value.
string | $key | The key to use. |
mixed | $data | The data to set. |
bool | True if the operation was a success false otherwise. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, and cachestore_redis.
|
abstractinherited |
Sets many items in the cache in a single transaction.
array | $keyvaluearray | An array of key value pairs. Each item in the array will be an associative array with two keys, 'key' and 'value'. |
int | The number of items successfully set. It is up to the developer to check this matches the number of items sent ... if they care that is. |
Reimplemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
inherited |
Returns true if the store instance guarantees data.
bool |
|
inherited |
Returns true if the store automatically dereferences objects.
bool |
|
inherited |
Returns true if the store instance supports multiple identifiers.
bool |
Reimplemented in cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_session, and cachestore_static.
|
inherited |
Returns true if the store instance supports native ttl.
bool |
|
staticinherited |
Generates the appropriate configuration required for unit testing.
array | Array of unit test configuration data to be used by initialise(). |
Implemented in cachestore_dummy, cachestore_apcu, cachestore_file, cachestore_memcached, cachestore_mongodb, cachestore_redis, cachestore_session, and cachestore_static.
|
inherited |
The cache store dereferences objects.
When set, loaders will assume that all data coming from this store has already had all references resolved. So even for complex object structures it will not try to remove references again.
|
inherited |
Application caches.
These are shared caches.
|
inherited |
Request caches.
Static caches really.
|
inherited |
Session caches.
Just access to the PHP session.