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


How to delete cakephp cached file by name or by name prefix?

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

例如,如果服务名称为 get_user_info 并且自定义缓存文件夹名称为 user_info,则对于用户来说 user_id:111,将在 cache/user_info 中使用名称 111_get_user_info 缓存文件。

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

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

谢谢!

有什么理由delete不起作用吗?

Cache::delete($key);

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

您可以在需要类似的地方

使用该函数clearCache($file)$file:

$file = "myprefix_the_complete_name_with_extension.php";

您需要创建整个路径来传递蛋糕。

如果此解决方案适合您,请随时通知我。

此致敬意。