Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

APCu cache store main library.

Copyright: 2012 Sam Hemelryk
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 412 lines (13 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class


Class: cachestore_apcu  - X-Ref

The APCu cache store class.

are_requirements_met()   X-Ref
Static method to check that the APCu stores requirements have been met.

It checks that the APCu extension has been loaded and that it has been enabled.

return: bool True if the stores software/hardware requirements have been met and it can be used. False otherwise.

is_supported_mode($mode)   X-Ref
Static method to check if a store is usable with the given mode.

param: int $mode One of cache_store::MODE_*
return: bool True if the mode is supported.

get_supported_features(array $configuration = array()   X-Ref
Returns the supported features as a binary flag.

param: array $configuration The configuration of a store to consider specifically.
return: int The supported features.

get_supported_modes(array $configuration = array()   X-Ref
Returns the supported modes as a binary flag.

param: array $configuration The configuration of a store to consider specifically.
return: int The supported modes.

__construct($name, array $configuration = array()   X-Ref
Constructs an instance of the cache store.

This method should not create connections or perform and processing, it should be used

param: string $name The name of the cache store
param: array $configuration The configuration for this store instance.

my_name()   X-Ref
Returns the name of this store instance.

return: string

initialise(cache_definition $definition)   X-Ref
Initialises a new instance of the cache store given the definition the instance is to be used for.

This function should prepare any given connections etc.

param: cache_definition $definition
return: bool

is_initialised()   X-Ref
Returns true if this cache store instance has been initialised.

return: bool

prepare_key($key)   X-Ref
Prepares the given key for use.

Should be called before all interaction.

param: string $key The key to prepare for storing in APCu.
return: string

get($key)   X-Ref
Retrieves an item from the cache store given its key.

param: string $key The key to retrieve
return: mixed The data that was associated with the key, or false if the key did not exist.

get_many($keys)   X-Ref
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.

param: array $keys The array of keys to retrieve
return: array An array of items from the cache. There will be an item for each key, those that were not in the store will

set($key, $data)   X-Ref
Sets an item in the cache given its key and data value.

param: string $key The key to use.
param: mixed $data The data to set.
return: bool True if the operation was a success false otherwise.

set_many(array $keyvaluearray)   X-Ref
Sets many items in the cache in a single transaction.

param: array $keyvaluearray An array of key value pairs. Each item in the array will be an associative array with two
return: int The number of items successfully set. It is up to the developer to check this matches the number of items

delete($key)   X-Ref
Deletes an item from the cache store.

param: string $key The key to delete.
return: bool Returns true if the operation was a success, false otherwise.

delete_many(array $keys)   X-Ref
Deletes several keys from the cache in a single action.

param: array $keys The keys to delete
return: int The number of items successfully deleted.

purge()   X-Ref
Purges the cache deleting all items within it.

return: boolean True on success. False otherwise.

instance_deleted()   X-Ref
Performs any necessary clean up when the store instance is being deleted.


initialise_test_instance(cache_definition $definition)   X-Ref
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.

param: cache_definition $definition
return: cache_store

has($key)   X-Ref
Test is a cache has a key.

param: string|int $key
return: bool True if the cache has the requested key, false otherwise.

has_any(array $keys)   X-Ref
Test if a cache has at least one of the given keys.

param: array $keys
return: bool True if the cache has at least one of the given keys

has_all(array $keys)   X-Ref
Test is a cache has all of the given keys.

param: array $keys
return: bool True if the cache has all of the given keys, false otherwise.

unit_test_configuration()   X-Ref
Generates the appropriate configuration required for unit testing.

return: array Array of unit test configuration data to be used by initialise().

config_get_configuration_array($data)   X-Ref
Given the data from the add instance form this function creates a configuration array.

param: stdClass $data
return: array

config_set_edit_form_data(moodleform $editform, array $config)   X-Ref
Allows the cache store to set its data against the edit form before it is shown to the user.

param: moodleform $editform
param: array $config

ready_to_be_used_for_testing()   X-Ref
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.

return: bool