Php 缓存频繁更新的数据

Php 缓存频繁更新的数据,php,caching,laravel-5.3,Php,Caching,Laravel 5.3,我正在用Laravel构建一个应用程序,该应用程序正在从数据库中获取大量数据,我想使用Laravel的缓存系统,防止用户总是去数据库获取所需数据 在本例中,让我们以使用该应用程序的两个用户为例:User1和User2 当用户1和用户2同时开始使用应用程序并运行下面代码中的方法show。此外,该方法还获取数据库中的POST并将其添加到缓存中 class PostController extends Controller { public function store(Request $reque

我正在用Laravel构建一个应用程序,该应用程序正在从数据库中获取大量数据,我想使用Laravel的
缓存系统
,防止用户总是去数据库获取所需数据

在本例中,让我们以使用该应用程序的两个用户为例:User1和User2

当用户1和用户2同时开始使用应用程序并运行下面代码中的方法
show
。此外,该方法还获取数据库中的POST并将其添加到缓存中

class PostController extends Controller
{

public function store(Request $request) {
    $post = Post::find(1);
    $post->name = $request['name'];
    $post->save();

    $post = Cache::put('post', $post, 60);
    return view('index', compact('post'));
}

public function show() {
    $post = Post::all();

    if(Cache::has('post')){
        $post = Cache::get('post');
    }else{
        $post = Cache::put('post', $post, 60);
    }
    return view('index', compact('post'));
}
}
几分钟后,User1运行上述代码的方法
store
,向数据库添加新的post并更新其缓存。 此时,User2仍然拥有相同的缓存,他从一开始就拥有相同的缓存


所以我的问题是,有没有什么方法可以在User1进行更新时更新User2的缓存?

他们总是假设看到相同的帖子列表,还是每个用户的帖子列表都是独立的?他们总是看到相同的帖子列表,您使用的缓存驱动程序是什么?听起来你在使用会话,它是单独的,而不是全局的。否则,当用户添加帖子时,只需刷新缓存即可。下次用户更新页面时,他们将获得新的缓存。我正在使用默认的驱动程序,即
文件
驱动程序,但我不知道他们如何拥有不同的缓存?如果user1添加了一篇新文章并在列表中看到它,那么user2在重新加载页面时也应该看到相同的列表。