首页 > Web开发 > 详细

php利用redis实现分页列表,新增,删除功能

时间:2019-02-02 16:39:31      阅读:403      评论:0      收藏:0      [点我收藏+]

1.基本连接方式实现:

use Redis; 引入redis类
$this->redis = Redis::connection(‘email‘); //连接


2.添加数据至redis缓存
$this->redis->hMset($basicKeys.‘:‘.$temp[‘email_id‘],[‘list‘=>serialize($temp)]);  //将数据以hash类型写入到redis

$this->redis->zAdd($basicKeys.‘_sort‘,$temp[‘email_id‘],$temp[‘email_id‘]);     //设置识别符,使用有序队列将对于缓存的数据id存在到当前key下,以方便数据查找

3.获取分页数据

$pageSize = $data[‘limit‘] ? intval($data[‘limit‘]) : 5; //页大小
$page = $data[‘page‘] ? intval($data[‘page‘]) :1;     //当前页码
$limit_s = ($page-1) * $pageSize;
$limit_e = ($limit_s + $pageSize) - 1;
$count = $this->redis->zCard($basicKeys.‘_sort‘); //统计ScoreSet总数
$pageCount = ceil($count/$pageSize); //总共多少页
$ids = $this->redis->ZRANGE($basicKeys.‘_sort‘,$limit_s,$limit_e); //获取分页id,对应获取hash内的分页数据
rsort($ids);
if($ids && is_array($ids)){
foreach ($ids as $v){
$dataFinal[] = $this->redis->hgetall($basicKeys.‘:‘.$v) ? unserialize($this->redis->hgetall($basicKeys.‘:‘.$v)[‘list‘]) : ‘‘;
}
}

$res = [
  ‘data‘ = $dataFinal,
  ‘pageinfo‘ = $count,      //总条数
  ‘page_count‘=> $count, //总页数
  ‘page_size‘ => $pageSize,  //每页显示数量
  ‘page_num‘  => $page,   //当前页
]
return $res;

 



php利用redis实现分页列表,新增,删除功能

原文:https://www.cnblogs.com/littledonkey/p/10348694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!