场景
首页数据非常大的时候,用户访问会出现慢或者卡死问题
解决方案
常态化方案就是直接读取mysql,这样会导致数据库的瓶颈。所以我们选择静态化API方案解决。
何为静态化API
通俗就是将首页数据作为缓存数据
思路
新建一个定时任务,执行一分钟一次
'*/1 * * * *'
//file 形式
$dir = "/Cache/video/json"; //写入目录
if(!$dir){
mkdir($dir,0777,true);
}
$res=file_put_contents($dir.DIRECTORY_SEPARATOR.$cateId.".json",json_encode($videoData));
//取数据
json_decode(file_get_contents($file),true);
//redis形式
$res = $redis->set(sprintf('video_key_%s',$cateId), json_encode($videoData));
if(empty($res)){
//todo 日志
}
//取数据
$data = json_decode($redis->get(sprintf('video_key_%s',$params['cate_id'])),true);
这样就每一分钟都会生成一次首页数据