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
需要的时候 一个个取出 然后放入一个数组 变成二维数组 从而可以正常使用