Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
|
The memcached store. More...
Public Member Functions | |
__construct ($name, array $configuration=array()) | |
Constructs the store instance. More... | |
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 () | |
Used to notify of configuration conflicts. More... | |
initialise (cache_definition $definition) | |
Initialises the cache. More... | |
instance_created () | |
Performs any necessary operation when the store instance has been created. More... | |
instance_deleted () | |
Performs any necessary clean up when the store instance is being deleted. More... | |
is_connection_ready () | |
Confirm whether the connection is ready and usable. More... | |
is_initialised () | |
Returns true once this instance has been initialised. More... | |
is_ready () | |
Returns true if this store instance is ready to be used. More... | |
is_searchable () | |
Returns true if the store instance is searchable. More... | |
my_name () | |
Returns the name of this 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 false as this store does not support multiple identifiers. More... | |
supports_native_ttl () | |
Returns true if the store instance supports native ttl. More... | |
Static Public Member Functions | |
static | are_requirements_met () |
Returns true 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 | config_get_configuration_array ($data) |
Given the data from the add instance form this function creates a configuration array. More... | |
static | config_get_hash_options () |
Gets an array of hash options available during configuration. More... | |
static | config_get_serialiser_options () |
Gets an array of options to use as the serialiser. More... | |
static | config_set_edit_form_data (moodleform $editform, array $config) |
Allows the cache store to set its data against the edit form before it is shown to the user. More... | |
static | get_supported_features (array $configuration=array()) |
Returns the supported features as a combined int. More... | |
static | get_supported_modes (array $configuration=array()) |
Returns the supported modes as a combined int. 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) |
Returns true if the given mode is supported by this store. 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 | REQUIRED_VERSION = '2.0.0' |
The minimum required version of memcached in order to use this store. | |
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. | |
Protected Member Functions | |
delete_many_connection (Memcached $connection, array $keys) | |
Deletes several keys from the cache in a single action for a specific connection. More... | |
Static Protected Member Functions | |
static | get_prefixed_keys (Memcached $connection, $prefix) |
Returns all of the keys in the given connection that belong to this cache store instance. More... | |
Protected Attributes | |
bool | $candeletemulti = false |
True if Memcached::deleteMulti can be used, false otherwise. More... | |
bool | $clustered = false |
Set to true when this store is clustered. | |
Memcached | $connection |
The memcached connection. | |
cache_definition | $definition |
The cache definition this store was initialised with. | |
bool | $isinitialised = false |
Set to true when this store instance has been initialised. | |
bool | $isready = false |
True when this instance is ready to be initialised. | |
bool | $isshared = false |
True if the memcached server is shared, false otherwise. More... | |
store | $name |
The name of the store. | |
array | $options = array() |
The options used when establishing the connection. | |
string | $prefix = '' |
The prefix to use on all keys. | |
array | $servers = array() |
An array of servers to use during connection. | |
array | $setconnections = array() |
The an array of memcache connections for the set servers, once established. | |
array | $setservers = array() |
Array of servers to set when in clustered mode. | |
The memcached store.
(Not to be confused with the memcache store)
Configuration options: servers: string: host:port:weight , ... compression: true, false serialiser: SERIALIZER_PHP, SERIALIZER_JSON, SERIALIZER_IGBINARY prefix: string: defaults to instance name hashmethod: HASH_DEFAULT, HASH_MD5, HASH_CRC, HASH_FNV1_64, HASH_FNV1A_64, HASH_FNV1_32, HASH_FNV1A_32, HASH_HSIEH, HASH_MURMUR bufferwrites: true, false
cachestore_memcached::__construct | ( | $name, | |
array | $configuration = array() |
||
) |
Constructs the store instance.
Noting that this function is not an initialisation. It is used to prepare the store for use. The store will be initialised when required and will be provided with a cache_definition at that time.
string | $name | |
array | $configuration |
Reimplemented from cache_store.
|
static |
Returns true if the store requirements are met.
bool |
Implements cache_store_interface.
|
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 |
|
static |
Given the data from the add instance form this function creates a configuration array.
stdClass | $data |
array |
Implements cache_is_configurable.
|
static |
Gets an array of hash options available during configuration.
array |
|
static |
Gets an array of options to use as the serialiser.
array |
|
static |
Allows the cache store to set its data against the edit form before it is shown to the user.
moodleform | $editform | |
array | $config |
Implements cache_is_configurable.
|
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 |
cachestore_memcached::delete | ( | $key | ) |
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 from cache_store.
cachestore_memcached::delete_many | ( | array | $keys | ) |
Deletes several keys from the cache in a single action.
array | $keys | The keys to delete |
int | The number of items successfully deleted. |
Reimplemented from cache_store.
|
protected |
Deletes several keys from the cache in a single action for a specific connection.
Memcached | $connection | The connection to work on. |
array | $keys | The keys to delete |
int | The number of items successfully deleted. |
cachestore_memcached::get | ( | $key | ) |
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 from cache_store.
cachestore_memcached::get_many | ( | $keys | ) |
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 from cache_store.
|
staticprotected |
Returns all of the keys in the given connection that belong to this cache store instance.
Requires php memcached extension version 2.0.0 or greater.
Memcached | $connection | |
string | $prefix |
array |
|
static |
Returns the supported features as a combined int.
array | $configuration |
int |
Implements cache_store_interface.
|
static |
Returns the supported modes as a combined int.
array | $configuration |
int |
Implements cache_store_interface.
cachestore_memcached::get_warnings | ( | ) |
Used to notify of configuration conflicts.
The warnings returned here will be displayed on the cache configuration screen.
string[] | Returns an array of warnings (strings) |
Reimplemented from cache_store.
cachestore_memcached::initialise | ( | cache_definition | $definition | ) |
Initialises the cache.
Once this has been done the cache is all set to be used.
coding_exception | if the instance has already been initialised. |
cache_definition | $definition |
Reimplemented from cache_store.
|
static |
Generates an instance of the cache store that can be used for testing.
cache_definition | $definition |
cachestore_memcached|false |
Implements cache_store_interface.
|
inherited |
Performs any necessary operation when the store instance has been created.
Reimplemented in cachestore_file.
cachestore_memcached::instance_deleted | ( | ) |
Performs any necessary clean up when the store instance is being deleted.
Reimplemented from cache_store.
cachestore_memcached::is_connection_ready | ( | ) |
Confirm whether the connection is ready and usable.
boolean |
cachestore_memcached::is_initialised | ( | ) |
Returns true once this instance has been initialised.
bool |
Reimplemented from cache_store.
cachestore_memcached::is_ready | ( | ) |
Returns true if this store instance is ready to be used.
bool |
Reimplemented from cache_store.
|
inherited |
Returns true if the store instance is searchable.
bool |
|
static |
Returns true if the given mode is supported by this store.
int | $mode | One of cache_store::MODE_* |
bool |
Implements cache_store_interface.
cachestore_memcached::my_name | ( | ) |
cachestore_memcached::purge | ( | ) |
Purges the cache deleting all items within it.
boolean | True on success. False otherwise. |
Reimplemented from cache_store.
|
static |
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 from cache_store.
cachestore_memcached::set | ( | $key, | |
$data | |||
) |
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 from cache_store.
cachestore_memcached::set_many | ( | array | $keyvaluearray | ) |
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 from cache_store.
|
inherited |
Returns true if the store instance guarantees data.
bool |
|
inherited |
Returns true if the store automatically dereferences objects.
bool |
cachestore_memcached::supports_multiple_identifiers | ( | ) |
Returns false as this store does not support multiple identifiers.
(This optional function is a performance optimisation; it must be consistent with the value from get_supported_features.)
bool | False |
Reimplemented from cache_store.
|
inherited |
Returns true if the store instance supports native ttl.
bool |
|
static |
Generates the appropriate configuration required for unit testing.
array | Array of unit test configuration data to be used by initialise(). |
Implements cache_store_interface.
|
protected |
True if Memcached::deleteMulti can be used, false otherwise.
This required extension version 2.0.0 or greater.
|
protected |
True if the memcached server is shared, false otherwise.
This required extension version 2.0.0 or greater.
|
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.