Private update status cache system in Drupal 6
Same name and namespace in other branches
- 7 modules/update/update.module \update_status_cache
We specifically do NOT use the core cache API for saving the fetched data about available updates. It is vitally important that this cache is only cleared when we're populating it after successfully fetching new available update data. Usage of the core cache API results in all sorts of potential problems that would result in attempting to fetch available update data all the time, including if a site has a "minimum cache lifetime" (which is both a minimum and a maximum) defined, or if a site uses memcache or another plug-able cache system that assumes volatile caches.
Update module still uses the {cache_update} table, but instead of using cache_set(), cache_get(), and cache_clear_all(), there are private helper functions that implement these same basic tasks but ensure that the cache is not prematurely cleared, and that the data is always stored in the database, even if memcache or another cache backend is in use.
File
- modules/
update/ update.module, line 509 - The "Update status" module checks for available updates of Drupal core and any installed contributed modules and themes. It warns site administrators if newer releases are available via the system status report (admin/reports/status), the…
Functions
Name | Location | Description |
---|---|---|
update_flush_caches |
modules/ |
Implementation of hook_flush_caches(). |
update_invalidate_cache |
modules/ |
Invalidates all cached data relating to update status. |
_update_cache_clear |
modules/ |
Invalidates specific cached data relating to update status. |
_update_cache_get |
modules/ |
Retrieve data from the private update status cache table. |
_update_cache_set |
modules/ |
Store data in the private update status cache table. |