1.在使用redis的时候需要将redis开启扩展
2.实例化redis 得到一个对象
3.判断redis缓存里面是否有数据,有的话读取缓存里面的数据,没有则读取数据库,获取数据后生成缓存
第一次访问页面的时候是走的数据库 效果图如下
第二次访问读取的缓存 效果图如下
代码如下
public function index() { $page = input(‘page‘) ? input(‘page‘) : 1; $limit = input(‘limit‘) ?input(‘limit‘) : 5; //接收关键字 $keyword = input(‘name‘) ? input(‘name‘) :‘‘; $where = []; if (!empty($keyword)){ $where[‘name‘] = [‘like‘,‘%‘.$keyword.‘%‘]; } //计算偏移量 $offset = ($page-1)*$limit; //开启redis $redis = new Redis(); $flag = null; //判断是否有缓存 if ($redis->has(‘goodsData‘)){ //有的话直接走缓存 $flag = ‘redis‘; $goodsData = $redis->get(‘goodsData‘); }else{ //没有 查询数据库 //获取数据 $flag = ‘mysql‘; $goodsData = GoodsModel::getAllGoods($where,$offset,$limit); //加入缓存 $redis->set(‘goodsData‘,$goodsData); } //获取总条数 $goodsCount = GoodsModel::getAllCount($where,$offset,$limit); $arr[‘code‘] = 0; $arr[‘massage‘] = ‘success-‘.$flag; $arr[‘data‘] = $goodsData; $arr[‘count‘] = $goodsCount; return json($arr); }