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.

Differences Between: [Versions 310 and 311] [Versions 311 and 401] [Versions 39 and 311]

The library file for the MongoDB store plugin. This file is part of the MongoDB store plugin, it contains the API for interacting with an instance of the store.

Copyright: 2012 Sam Hemelryk
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 585 lines (19 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 1 file
 cache/stores/mongodb/MongoDB/functions.php

Defines 1 class


Class: cachestore_mongodb  - X-Ref

The MongoDB Cache store.

This cache store uses the MongoDB Native Driver and the MongoDB PHP Library.
For installation instructions have a look at the following two links:
- {@link http://php.net/manual/en/set.mongodb.php}
- {@link https://docs.mongodb.com/ecosystem/drivers/php/}

__construct($name, array $configuration = array()   X-Ref
Constructs a new instance of the Mongo store.

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.

param: string $name
param: array $configuration

are_requirements_met()   X-Ref
Returns true if the requirements of this store have been met.

return: bool

get_supported_features(array $configuration = array()   X-Ref
Returns the supported features.

param: array $configuration
return: int

get_supported_modes(array $configuration = array()   X-Ref
Returns an int describing the supported modes.

param: array $configuration
return: int

initialise(cache_definition $definition)   X-Ref
Initialises the store instance for use.

Once this has been done the cache is all set to be used.

param: cache_definition $definition

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

return: bool

is_ready()   X-Ref
Returns true if this store instance is ready to use.

return: bool

is_supported_mode($mode)   X-Ref
Returns true if the given mode is supported by this store.

param: int $mode
return: bool

supports_multiple_identifiers()   X-Ref
Returns true if this store is making use of multiple identifiers.

return: bool

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.

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.

config_get_configuration_array($data)   X-Ref
Takes the object from the add instance store and creates a configuration array that can be used to initialise an instance.

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

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.

param: cache_definition $definition
return: false

unit_test_configuration()   X-Ref
Generates an instance of the cache store that can be used for testing.

param: cache_definition $definition
return: false

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

return: string

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