Private update status cache system in Drupal 7
Same name and namespace in other branches
- 6 modules/update/update.module \update_status_cache
Functions to manage the 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 pluggable cache system that assumes volatile caches.
The Update Manager 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 735 - Handles updates of Drupal core and contributed projects.
Functions
Name | Location | Description |
---|---|---|
update_flush_caches |
modules/ |
Implements hook_flush_caches(). |
_update_cache_clear |
modules/ |
Invalidates cached data relating to update status. |
_update_cache_get |
modules/ |
Retrieves data from the private update status cache table. |
_update_cache_set |
modules/ |
Stores data in the private update status cache table. |
_update_get_cache_multiple |
modules/ |
Returns an array of cache items with a given cache ID prefix. |