在laravel中已缓存数据库中的数据中搜索值

在laravel中已缓存数据库中的数据中搜索值,laravel,caching,redis,Laravel,Caching,Redis,据我所知,我正在学习制作缓存 if(cache::has('cacheKey')) { cache::get('cacheKey') } else { $data=cache::remember('cacheKey',time,function() { return db::table('user')->get();}); return $data; } 现在的问题是,当我试图在键上搜索特定数据,然后在结果页上对该数据进行分页时,我确实使用了缓存::记住

据我所知,我正在学习制作缓存

if(cache::has('cacheKey')) {
    cache::get('cacheKey')
} else {
    $data=cache::remember('cacheKey',time,function() {
    return db::table('user')->get();});
    return $data; 
}
现在的问题是,当我试图在键上搜索特定数据,然后在结果页上对该数据进行分页时,我确实使用了缓存::记住,但当我一直在使用缓存::记住函数时,如何加快搜索速度?当我试图在缓存键中搜索时,下面是代码

$page    = $req->has('page') ? $req->query('page') : 1;
$keyword = $req->keyword;

if(cache::has('FileData')) {
    if(!empty($keyword)) { 
        $file = cache::remember('FileData'.'search='.$keyword.'page='.$page,1440,function() use ($keyword) {
               return File::with('callcase','lettercase','update_table','fileimages')
                      ->where('id','Like','%'.$keyword.'%')
                      ->orWhere('file_name','Like','%'.$keyword.'%')
                      ->orWhere('recieved_by','Like','%'.$keyword.'%')
                      ->orWhere('processed_by','Like','%'.$keyword.'%')
                      ->orWhere('address','Like','%'.$keyword.'%')
                      ->orWhere('contact_no','Like','%'.$keyword.'%')
                      ->orWhere('show_status','Like','%'.$keyword.'%')
                      ->orWhere('Reopen','Like','%'.$keyword.'%')
                      ->orderBy('id','desc')
                      ->paginate(25)
                      ->setpath('');
                });

        $file->appends(['keyword'=>$keyword]);
        if(count($file)>0) {    
            return view('home')->with('files',$file) ;
        } else { 
            $error = "File does not found , Search another using keyword ";
            return view('home')->with('filemsg',$error);
        }
    } else {
            $file = cache::remember('FileData'.'page='.$page,1440,function () {
                    return File::with('callcase','lettercase','update_table','fileimages')
                           ->orderBy('id','desc')
                           ->paginate(25);});
                return view('home')->with('files',$file) ;
        }   
} else {
            $file = cache::remember('FileData',1440,function(){
                   return File::with('callcase','lettercase','update_table','fileimages')
                          ->orderBy('id','desc')
                          ->paginate(25);
            });
            return view('home')->with('files',$file);
}
我的代码运行良好,并按照我的要求返回数据,但我对此感到困惑,每次我都要记住数据,那么我如何才能更快地从已缓存的键中检索数据并在其中搜索并对其进行分页,我如何才能做到这一点,如果我做错了,如何帮助我