在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 下的所有缓存文件,因此其他用户缓存的信息也会被删除。
有人可以建议我如何使用前缀匹配清除缓存文件?
谢谢!
答案 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";
你需要创建一个传递蛋糕的完整路径。
如果此解决方案适合您,请告诉我。
最诚挚的问候。