Cakephp 3缓存::deleteMany()通配符匹配?

Cakephp 3缓存::deleteMany()通配符匹配?,php,cakephp,caching,Php,Cakephp,Caching,是否有一种方法可以使用use the Cache::deleteMany()函数根据通配符删除缓存文件 例如,我想删除一个名为posts\u 2\u 20160801的缓存文件,其中第一个数字是用户id,数字字符串是日期。因此,该缓存文件包含用户在给定分页日期之前发布的所有帖子 所以我希望能够删除用户id的缓存文件。因为日期几乎可以是任何我需要的通配符 类似于Cache::deleteMany(['posts_2*') 有没有办法做到这一点,或者我的想法是错误的。我不知道memcached,但文

是否有一种方法可以使用use the Cache::deleteMany()函数根据通配符删除缓存文件

例如,我想删除一个名为
posts\u 2\u 20160801
的缓存文件,其中第一个数字是用户id,数字字符串是日期。因此,该缓存文件包含用户在给定分页日期之前发布的所有帖子

所以我希望能够删除用户id的缓存文件。因为日期几乎可以是任何我需要的通配符

类似于
Cache::deleteMany(['posts_2*')


有没有办法做到这一点,或者我的想法是错误的。

我不知道memcached,但文件和Redis引擎不支持这种删除缓存的方法

我的解决方案是创建一个类来扩展所需的Cake缓存引擎类(如
RedisEngine
FileEngine
),并重写
deleteMany
函数,以便在传递字符串而不是数组时,执行通配符搜索并返回所有键,然后将返回的键数组传递给父函数


我知道
文件
引擎和
Redis
引擎可能需要大量的编码,这必须非常小心。

我不知道memcached,但文件和Redis引擎不支持这种删除缓存的方法

我的解决方案是创建一个类来扩展所需的Cake缓存引擎类(如
RedisEngine
FileEngine
),并重写
deleteMany
函数,以便在传递字符串而不是数组时,执行通配符搜索并返回所有键,然后将返回的键数组传递给父函数

我知道
文件
引擎和
Redis
引擎可能需要大量的编码,必须非常小心地完成