[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Core cache definitions. 19 * 20 * This file is part of Moodle's cache API, affectionately called MUC. 21 * It contains the components that are requried in order to use caching. 22 * 23 * @package core 24 * @category cache 25 * @copyright 2012 Sam Hemelryk 26 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 27 */ 28 29 $definitions = array( 30 31 // Used to store processed lang files. 32 // The keys used are the revision, lang and component of the string file. 33 // The static acceleration size has been based upon student access of the site. 34 'string' => array( 35 'mode' => cache_store::MODE_APPLICATION, 36 'simplekeys' => true, 37 'simpledata' => true, 38 'staticacceleration' => true, 39 'staticaccelerationsize' => 30, 40 'canuselocalstore' => true, 41 ), 42 43 // Used to store cache of all available translations. 44 'langmenu' => array( 45 'mode' => cache_store::MODE_APPLICATION, 46 'simplekeys' => true, 47 'simpledata' => true, 48 'staticacceleration' => true, 49 'canuselocalstore' => true, 50 ), 51 52 // Used to store database meta information. 53 // The database meta information includes information about tables and there columns. 54 // Its keys are the table names. 55 // When creating an instance of this definition you must provide the database family that is being used. 56 'databasemeta' => array( 57 'mode' => cache_store::MODE_APPLICATION, 58 'requireidentifiers' => array( 59 'dbfamily' 60 ), 61 'simpledata' => true, // This is a read only class, so leaving references in place is safe. 62 'staticacceleration' => true, 63 'staticaccelerationsize' => 15 64 ), 65 66 // Event invalidation cache. 67 // This cache is used to manage event invalidation, its keys are the event names. 68 // Whenever something is invalidated it is both purged immediately and an event record created with the timestamp. 69 // When a new cache is initialised all timestamps are looked at and if past data is once more invalidated. 70 // Data guarantee is required in order to ensure invalidation always occurs. 71 // Persistence has been turned on as normally events are used for frequently used caches and this event invalidation 72 // cache will likely be used either lots or never. 73 'eventinvalidation' => array( 74 'mode' => cache_store::MODE_APPLICATION, 75 'staticacceleration' => true, 76 'requiredataguarantee' => true, 77 'simpledata' => true, 78 ), 79 80 // Cache for question definitions. This is used by the question_bank class. 81 // Users probably do not need to know about this cache. They will just call 82 // question_bank::load_question. 83 'questiondata' => array( 84 'mode' => cache_store::MODE_APPLICATION, 85 'simplekeys' => true, // The id of the question is used. 86 'requiredataguarantee' => false, 87 'datasource' => 'question_finder', 88 'datasourcefile' => 'question/engine/bank.php', 89 ), 90 91 // HTML Purifier cache 92 // This caches the html purifier cleaned text. This is done because the text is usually cleaned once for every user 93 // and context combo. Text caching handles caching for the combination, this cache is responsible for caching the 94 // cleaned text which is shareable. 95 'htmlpurifier' => array( 96 'mode' => cache_store::MODE_APPLICATION, 97 'canuselocalstore' => true, 98 ), 99 100 // Used to store data from the config + config_plugins table in the database. 101 // The key used is the component: 102 // - core for all core config settings 103 // - plugin component for all plugin settings. 104 // Persistence is used because normally several settings within a script. 105 'config' => array( 106 'mode' => cache_store::MODE_APPLICATION, 107 'staticacceleration' => true, 108 'simpledata' => true 109 ), 110 111 // Groupings belonging to a course. 112 // A simple cache designed to replace $GROUPLIB_CACHE->groupings. 113 // Items are organised by course id and are essentially course records. 114 'groupdata' => array( 115 'mode' => cache_store::MODE_APPLICATION, 116 'simplekeys' => true, // The course id the groupings exist for. 117 'simpledata' => true, // Array of stdClass objects containing only strings. 118 'staticacceleration' => true, // Likely there will be a couple of calls to this. 119 'staticaccelerationsize' => 2, // The original cache used 1, we've increased that to two. 120 ), 121 122 // Used to cache calendar subscriptions. 123 'calendar_subscriptions' => array( 124 'mode' => cache_store::MODE_APPLICATION, 125 'simplekeys' => true, 126 'simpledata' => true, 127 'staticacceleration' => true, 128 ), 129 130 // Cache the capabilities list DB table. See get_all_capabilities in accesslib. 131 'capabilities' => array( 132 'mode' => cache_store::MODE_APPLICATION, 133 'simplekeys' => true, 134 'simpledata' => true, 135 'staticacceleration' => true, 136 'staticaccelerationsize' => 1, 137 'ttl' => 3600, // Just in case. 138 ), 139 140 // YUI Module cache. 141 // This stores the YUI module metadata for Shifted YUI modules in Moodle. 142 'yuimodules' => array( 143 'mode' => cache_store::MODE_APPLICATION, 144 ), 145 146 // Cache for the list of event observers. 147 'observers' => array( 148 'mode' => cache_store::MODE_APPLICATION, 149 'simplekeys' => true, 150 'simpledata' => true, 151 'staticacceleration' => true, 152 'staticaccelerationsize' => 2, 153 ), 154 155 // Cache used by the {@link core_plugin_manager} class. 156 // NOTE: this must be a shared cache. 157 'plugin_manager' => array( 158 'mode' => cache_store::MODE_APPLICATION, 159 'simplekeys' => true, 160 'simpledata' => true, 161 ), 162 163 // Used to store the full tree of course categories. 164 'coursecattree' => array( 165 'mode' => cache_store::MODE_APPLICATION, 166 'staticacceleration' => true, 167 'invalidationevents' => array( 168 'changesincoursecat', 169 ) 170 ), 171 // Used to store data for course categories visible to current user. Helps to browse list of categories. 172 'coursecat' => array( 173 'mode' => cache_store::MODE_SESSION, 174 'invalidationevents' => array( 175 'changesincoursecat', 176 'changesincourse', 177 ), 178 'ttl' => 600, 179 ), 180 // Used to store data for course categories visible to current user. Helps to browse list of categories. 181 'coursecatrecords' => array( 182 'mode' => cache_store::MODE_REQUEST, 183 'simplekeys' => true, 184 'invalidationevents' => array( 185 'changesincoursecat', 186 ), 187 ), 188 // Cache course contacts for the courses. 189 'coursecontacts' => array( 190 'mode' => cache_store::MODE_APPLICATION, 191 'staticacceleration' => true, 192 'simplekeys' => true, 193 'ttl' => 3600, 194 ), 195 // Used to store data for repositories to avoid repetitive DB queries within one request. 196 'repositories' => array( 197 'mode' => cache_store::MODE_REQUEST, 198 ), 199 // Used to store external badges. 200 'externalbadges' => array( 201 'mode' => cache_store::MODE_APPLICATION, 202 'simplekeys' => true, 203 'ttl' => 3600, 204 ), 205 // Accumulated information about course modules and sections used to print course view page (user-independed). 206 // Used in function get_fast_modinfo(), reset in function rebuild_course_cache(). 207 'coursemodinfo' => array( 208 'mode' => cache_store::MODE_APPLICATION, 209 'simplekeys' => true, 210 'canuselocalstore' => true, 211 ), 212 // This is the session user selections cache. 213 // It's a special cache that is used to record user selections that should persist for the lifetime of the session. 214 // Things such as which categories the user has expanded can be stored here. 215 // It uses simple keys and simple data, please ensure all uses conform to those two constraints. 216 'userselections' => array( 217 'mode' => cache_store::MODE_SESSION, 218 'simplekeys' => true, 219 'simpledata' => true 220 ), 221 222 // Used to cache activity completion status. 223 'completion' => array( 224 'mode' => cache_store::MODE_APPLICATION, 225 'simplekeys' => true, 226 'ttl' => 3600, 227 'staticacceleration' => true, 228 'staticaccelerationsize' => 2, // Should be current course and site course. 229 ), 230 231 // A simple cache that stores whether a user can expand a course in the navigation. 232 // The key is the course ID and the value will either be 1 or 0 (cast to bool). 233 // The cache isn't always up to date, it should only ever be used to save a costly call to 234 // can_access_course on the first page request a user makes. 235 'navigation_expandcourse' => array( 236 'mode' => cache_store::MODE_SESSION, 237 'simplekeys' => true, 238 'simpledata' => true 239 ), 240 241 // Caches suspended userids by course. 242 // The key is the courseid, the value is an array of user ids. 243 'suspended_userids' => array( 244 'mode' => cache_store::MODE_REQUEST, 245 'simplekeys' => true, 246 'simpledata' => true, 247 ), 248 249 // Caches plugins existing functions by function name and file. 250 // Set static acceleration size to 5 to load a few functions. 251 'plugin_functions' => array( 252 'mode' => cache_store::MODE_APPLICATION, 253 'simplekeys' => true, 254 'simpledata' => true, 255 'staticacceleration' => true, 256 'staticaccelerationsize' => 5 257 ), 258 259 // Caches data about tag collections and areas. 260 'tags' => array( 261 'mode' => cache_store::MODE_REQUEST, 262 'simplekeys' => true, 263 'staticacceleration' => true, 264 ), 265 266 // Grade categories. Stored at session level as invalidation is very aggressive. 267 'grade_categories' => array( 268 'mode' => cache_store::MODE_SESSION, 269 'simplekeys' => true, 270 'invalidationevents' => array( 271 'changesingradecategories', 272 ) 273 ), 274 275 // Store temporary tables information. 276 'temp_tables' => array( 277 'mode' => cache_store::MODE_REQUEST, 278 'simplekeys' => true, 279 'simpledata' => true 280 ), 281 282 // Caches tag index builder results. 283 'tagindexbuilder' => array( 284 'mode' => cache_store::MODE_SESSION, 285 'simplekeys' => true, 286 'simplevalues' => true, 287 'staticacceleration' => true, 288 'staticaccelerationsize' => 10, 289 'ttl' => 900, // 15 minutes. 290 'invalidationevents' => array( 291 'resettagindexbuilder', 292 ), 293 ), 294 );
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |