如何按名称或名称前缀删除cakephp缓存文件?

时间:2012-06-16 15:44:19

标签: php cakephp caching cakephp-2.0

在cakephp 2.0中,我从一些用户的文件中缓存一些来自某些服务调用的信息。使用单个user_id作为缓存文件名的前缀,我将文件缓存在自定义缓存配置下,该配置保存在缓存文件夹下的文件夹中。

例如,如果服务名称为 get_user_info 且自定义缓存文件夹名称为 user_info ,则对于用户说user_id:111,将缓存一个名为<的文件 cache / user_info 中的strong> 111_get_user_info 。

如果我需要删除此用户的缓存信息:111,我无法做到。因为 Cache :: clear(false,'user_info')会删除 cache / user_info 下的所有缓存文件,因此其他用户缓存的信息也会被删除。

有人可以建议我如何使用前缀匹配清除缓存文件?

谢谢!

2 个答案:

答案 0 :(得分:0)

任何原因delete都不起作用?

Cache::delete($key);

参考:http://book.cakephp.org/2.0/en/core-libraries/caching.html#CacheEngine::delete

答案 1 :(得分:0)

您可以使用函数clearCache($file),其中$ file必须是这样的:

$file = "myprefix_the_complete_name_with_extension.php";

你需要创建一个传递蛋糕的完整路径。

如果此解决方案适合您,请告诉我。

最诚挚的问候。