一尘不染

Laravel-频繁更新缓存口才

redis

是否可以在经常修改的对象上使用缓存?例如,假设我们有一个BlogPost对象,并且有一个num_of_views列(以及其他)经常更改。是否可以在高速缓存和数据库中更新num_of_views字段,而无需破坏高速缓存对象并重新创建它?我可以手动完成,但是我担心同步问题。


阅读 342

收藏
2020-06-20

共1个答案

一尘不染

是的。我不知道您的缓存状况如何,但是您可以随时替换缓存实例:

public function updatePost($post_id, $num_of_views)
{
    if (Cache::has('POST.'.$post_id))
    {
        $post = Cache::get('POST.'.$post_id);
    }
    else
    {
        $post = Post::find($post_id);
    }

    $post->num_of_views = $num_of_views;

    $post->save();

    Cache::put('POST.'.$post_id, $post);
}
2020-06-20