Cache API: Add wp_cache_flush_runtime function

Add a new function called `wp_cache_flush_runtime` to existing caching functions found in WordPress. This function allows users to flush the runtime (in-memory) cache, without flushing the entire persistent cache. 

Props: Spacedmonkey, tillkruess, flixos90, adamsilverstein, SergeyBiryukov, barryhughes. 
Fixes: #55080.



git-svn-id: https://develop.svn.wordpress.org/trunk@52772 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonny Harris 2022-02-18 12:04:52 +00:00
parent a3cbbc419d
commit c98f4c04db
3 changed files with 32 additions and 0 deletions

View File

@ -123,3 +123,21 @@ if ( ! function_exists( 'wp_cache_delete_multiple' ) ) :
return $values;
}
endif;
if ( ! function_exists( 'wp_cache_flush_runtime' ) ) :
/**
* Removes all cache items from the in-memory runtime cache.
*
* Compat function to mimic wp_cache_flush_runtime().
*
* @ignore
* @since 6.0.0
*
* @see wp_cache_flush_runtime()
*
* @return bool True on success, false on failure.
*/
function wp_cache_flush_runtime() {
return wp_using_ext_object_cache() ? false : wp_cache_flush();
}
endif;

View File

@ -268,6 +268,19 @@ function wp_cache_flush() {
return $wp_object_cache->flush();
}
/**
* Removes all cache items from the in-memory runtime cache.
*
* @since 6.0.0
*
* @see WP_Object_Cache::flush()
*
* @return bool True on success, false on failure.
*/
function wp_cache_flush_runtime() {
return wp_cache_flush();
}
/**
* Closes the cache.
*

View File

@ -326,6 +326,7 @@ class Tests_Pluggable extends WP_UnitTestCase {
'group' => '',
),
'wp_cache_flush' => array(),
'wp_cache_flush_runtime' => array(),
'wp_cache_close' => array(),
'wp_cache_add_global_groups' => array( 'groups' ),
'wp_cache_add_non_persistent_groups' => array( 'groups' ),