Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.

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

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.

return: int
param: array $configuration

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

return: int
param: array $configuration

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.

return: bool
param: int $mode

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.

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

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.

return: array An array of items from the cache.
param: array $keys The array of keys to retrieve

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

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

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

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

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

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

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

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

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.

return: array
param: stdClass $data

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.

return: false
param: cache_definition $definition

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

return: false
param: cache_definition $definition

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