public function actionShow()
{
$page=isset($_GET['page'])?$_GET['page']:1;
$query = goods::find();
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count(),'pageSize'=>5]);
$models = $query->offset($pages->offset)
->limit($pages->limit)
->asArray()
->all();
$redis= new \Redis();
$redis->pconnect("127.0.0.1","6379");
$redis->select(2);
if($redis->hlen("$page"."0")<=0){
foreach($models as $key=>$v){
$redis->hmset("$page"."$key",$v);
}
return $this->render('show', [
'models' => $models,
'pages' => $pages,
'msg' =>'数据库取值',
]);
}else{
foreach($models as $key=>$v){
$b[]=$redis->hmget("$page"."$key",["id","goods_name","goods_stock","goods_price","goods_img","goods_visit"]);
}
return $this->render('show', [
'models' => $b,
'pages' => $pages,
'msg' =>'redis取值',
]);
}
}
上边代码 加黑 斜体 可以从手册复制 相信各位会改一些需要改成和自己代码一致的地方
接下来 引入redis 类
$page 是需要自己写 从路由上接一下自己的页码
$models 里存放的是所有数据
通过循环 把一个个一维数组 存入redis
需要的时候 一个个取出 然后放入一个数组 变成二维数组 从而可以正常使用