I've seen from a different question a suggestion to use CRM_Core_Invoke::rebuildMenuAndCaches()
as the "granddaddy" of all cache flushing. However, I'd like to know if this is only clearing the cache in the database, such as civicrm_cache
and so on or if it also clears non-database cache as well such as memcache.
As far as I can tell the above function calls CRM_Core_Config::cleanupCaches()
which calls CRM_Core_Config::clearDBCache()
and that function truncates various cache tables. Am I missing something? How do the other caching backends get flushed?
if ( $dbCache ) { CRM_Core_Config::clearDBCache( ); } if ( $memCache ) { CRM_Utils_System::flushCache( ); }
which seems to confirm my suspicion that there are two ways to clear the cache depending on what backend caching method is using.