app中的推荐新闻,使用率比较高,查询的次数较多,对mysql压力较大,所以将推荐资讯的这几条数据存储进 Redis 数据库中 ,利用redis的 string,如下是系统首页调用资讯数据的代码:
public function index()
{
if (extension_loaded('redis')){ //如果开启redis拓展,则:
$redis = new \Redis();
$redis -> connect('127.0.0.1',6379);
$list = $redis ->get('list');
if($list){
$list2 = json_decode($list,true); //将json字符转回数组
$this->assign('list',$list2); //如果redis有数据则输出到前端
}else{
$list = IndexModel::NewsList(); //如果redis没有数据,则去MySQL,获取首页新闻列表数据
$redis -> set('list',json_encode($list)); //数据存储进redis,并且把数组转为json字符
$redis -> expire('list',3600);
$this->assign('list',$list); //输出数据
}
}else{ //如果没开启redis拓展,则执行MySQL操作数据
$list = IndexModel::NewsList();
$this->assign('list',$list);
}
return $this->fetch('index');
}