. /** * 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 revision, lang and component of the string file. // The persistent max size has been based upon student access of the site. // NOTE: this data may be safely stored in local caches on cluster nodes. 'string' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 30 ), // Used to store cache of all available translations. // NOTE: this data may be safely stored in local caches on cluster nodes. 'langmenu' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, ), // 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' => 15 ), // 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 combination, this cache is responsible for caching the // cleaned text which is shareable. // NOTE: this data may be safely stored in local caches on cluster nodes. '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, ), // YUI Module cache. // This stores the YUI module metadata for Shifted YUI modules in Moodle. 'yuimodules' => array( 'mode' => cache_store::MODE_APPLICATION, ), // Cache for the list of event observers. 'observers' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 2, ), // Cache used by the {@link plugininfo_base} class. 'plugininfo_base' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 2, ), // Cache used by the {@link plugininfo_mod} class. 'plugininfo_mod' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 1, ), // Cache used by the {@link plugininfo_block} class. 'plugininfo_block' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 1, ), // Cache used by the {@link plugininfo_filter} class. 'plugininfo_filter' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 1, ), // Cache used by the {@link plugininfo_repository} class. 'plugininfo_repository' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 1, ), // Cache used by the {@link plugininfo_portfolio} class. 'plugininfo_portfolio' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'simpledata' => true, 'persistent' => true, 'persistentmaxsize' => 1, ), // Used to store the full tree of course categories 'coursecattree' => array( 'mode' => cache_store::MODE_APPLICATION, 'persistent' => true, 'invalidationevents' => array( 'changesincoursecat', ) ), // Used to store data for course categories visible to current user. Helps to browse list of categories 'coursecat' => array( 'mode' => cache_store::MODE_SESSION, 'persistent' => true, 'invalidationevents' => array( 'changesincoursecat', 'changesincourse', ), 'ttl' => 600, ), // Used to store data for course categories visible to current user. Helps to browse list of categories 'coursecatrecords' => array( 'mode' => cache_store::MODE_REQUEST, 'simplekeys' => true, 'persistent' => true, 'invalidationevents' => array( 'changesincoursecat', ), ), // Cache course contacts for the courses 'coursecontacts' => array( 'mode' => cache_store::MODE_APPLICATION, 'persistent' => true, 'simplekeys' => true, ), // Used to store data for repositories to avoid repetitive DB queries within one request 'repositories' => array( 'mode' => cache_store::MODE_REQUEST, 'persistent' => true, ), // Used to store external badges. 'externalbadges' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, 'ttl' => 3600, ), // Accumulated information about course modules and sections used to print course view page (user-independed). // Used in function get_fast_modinfo(), reset in function rebuild_course_cache(). 'coursemodinfo' => array( 'mode' => cache_store::MODE_APPLICATION, 'simplekeys' => true, ), );