gpt4 book ai didi

mysql - 数据库更新后如何清除缓存?

转载 作者:行者123 更新时间:2023-11-29 09:46:06 25 4
gpt4 key购买 nike

我试图在一些表更新后清除缓存。

在 Controller 的存储功能中我添加

Artisan::call('cache:clear');

但这不是一个好方法。我让观察员来做这件事。但这也在重演。

例如,我有用户、类别、帖子、访客表。如果更新类别和帖子表,则必须清除缓存。但我无法说清楚。我可以为此编写清晰的代码吗?任何想法都会很好。提前致谢。

最佳答案

这是一个清晰代码的示例:

在 app/Traits/CacheClear.php 中创建文件,并输入以下代码:

namespace App\Traits;

trait CacheClear
{

/**
* Boot function for Laravel model events.
* https://laravel.com/docs/5.8/eloquent#events
*
* @return void
*/
protected static function boot()
{
parent::boot();

/**
* After model is created, or whatever action, clear cache.
*/
static::updated(function () {
Artisan::call('cache:clear');
});
}

现在,为了以防万一,运行composer dump-autoload

之后转到您的模型并使用该特征,

使用 App\Traits\CacheClear;

类用户扩展模型{
使用缓存清除;
}

每次在用户模型上触发 update 事件时,都会调用命令:)

关于mysql - 数据库更新后如何清除缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55627963/

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