gpt4 book ai didi

php - Laravel 4 清除所有过期缓存

转载 作者:行者123 更新时间:2023-12-03 21:40:16 25 4
gpt4 key购买 nike

在 Laravel 中,我们可以这样存储缓存:

Cache::put($dynamickey, 'value', $minutes);

但这最终会存储越来越多的缓存文件,即使它已过期。如果我们尝试使用 php artisan cache:clear 清洁它或 Cache::flush(); ,它将清除所有缓存,包括那些仍然有效的缓存。

是否可以进行仅清除过期缓存的自动清理?谢谢。

最佳答案

$value = Cache::remember('users', function()
{
return DB::table('users')->get();
});

工作。它验证具有给定键的缓存是否存在并返回其值。如果它不存在或已过期,则使用新值刷新给定的缓存键。

对于图像缓存,我使用如下逻辑:
  • 撕裂图像 md5($file);//其中 $file === 完整图像路径
    图片名称
  • 存储图像 md5(file_get_contents($file));//自我解释方法:)
  • 然后

    if (Cache::has($cacheKey_name) && !Cache::has($cacheKey_content))
    {
    缓存::忘记($cacheKey_name);
    缓存::忘记($cacheKey_content);
    }

  • 它将检查图像是否已缓存并且仅更改内容。如果是,则删除旧缓存并缓存新图像(带有新内容)。使用此逻辑,您将始终拥有新鲜的图像内容(带有覆盖的图像)。

    或者,您可以随时创建 artisan 任务并创建 Controller 来检查存储目录中的所有缓存数据,然后创建 Cron 任务。

    关于php - Laravel 4 清除所有过期缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20111229/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com