. /** * Core cache definitions. * * This file is part of Moodle's cache API, affectionately called MUC. * It contains the components that are requried in order to use caching. * * @package core * @category cache * @copyright 2012 Sam Hemelryk * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ $definitions = array( // Used to store processed lang files. // The keys used are the component of the string file. 'string' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 3 ), // Used to store database meta information. // The database meta information includes information about tables and there columns. // Its keys are the table names. // When creating an instance of this definition you must provide the database family that is being used. 'databasemeta' => array( 'mode' => cache_store::MODE_APPLICATION, 'requireidentifiers' => array( 'dbfamily' ), 'persistent' => true, 'persistentmaxsize' => 2 ), // Event invalidation cache. // This cache is used to manage event invalidation, its keys are the event names. // Whenever something is invalidated it is both purged immediately and an event record created with the timestamp. // When a new cache is initialised all timestamps are looked at and if past data is once more invalidated. // Data guarantee is required in order to ensure invalidation always occurs. // Persistence has been turned on as normally events are used for frequently used caches and this event invalidation // cache will likely be used either lots or never. 'eventinvalidation' => array( 'mode' => cache_store::MODE_APPLICATION, 'persistent' => true, 'requiredataguarantee' => true, 'simpledata' => true, ), // Cache for question definitions. This is used by the question_bank class. // Users probably do not need to know about this cache. They will just call // question_bank::load_question. 'questiondata' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, // The id of the question is used. 'requiredataguarantee' => false, 'datasource' => 'question_finder', 'datasourcefile' => 'question/engine/bank.php', ), // HTML Purifier cache // This caches the html purifier cleaned text. This is done because the text is usually cleaned once for every user // and context combo. Text caching handles caching for the combonation, this cache is responsible for caching the // cleaned text which is shareable. 'htmlpurifier' => array( 'mode' => cache_store::MODE_APPLICATION, ), // Used to store data from the config + config_plugins table in the database. // The key used is the component: // - core for all core config settings // - plugin component for all plugin settings. // Persistence is used because normally several settings within a script. 'config' => array( 'mode' => cache_store::MODE_APPLICATION, 'persistent' => true, 'simpledata' => true ), // Groupings belonging to a course. // A simple cache designed to replace $GROUPLIB_CACHE->groupings. // Items are organised by course id and are essentially course records. 'groupdata' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, // The course id the groupings exist for. 'simpledata' => true, // Array of stdClass objects containing only strings. 'persistent' => true, // Likely there will be a couple of calls to this. 'persistmaxsize' => 2, // The original cache used 1, we've increased that to two. ), // Used to cache calendar subscriptions. 'calendar_subscriptions' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, ) );