/*
* 添加redis记录
* @param $hash_prefix 前缀
* @param $id 记录id
* @param $data 数据
* @return bool 返回值
*/
static function set_redis_page_info($hash_prefix,$id,$data){
if(!is_numeric($id) || !is_array($data)) return false;
$hashName = $hash_prefix.'_'.$id;
Redis::hmset($hashName, $data);
Redis::expire($hashName, 900);
Redis::zadd($hash_prefix.'_sort',$id,$id);
Redis::expire($hash_prefix.'_sort', 900);
return true;
}
/*
* 获取redis分页数据
* @param $hash_prefix 前缀
* @param $page 当前页数
* @param $pageSize 每页多少条
* @param $key 字段数组 不传为取出全部字段
* @return array
*/
static function get_redis_page_info($hash_prefix,$page,$pageSize,$key=array()){
if(!is_numeric($page) || !is_numeric($pageSize)) return false;
$limit_s = ($page-1) * $pageSize;
$limit_e = ($limit_s + $pageSize) - 1;
$range = Redis::zrange($hash_prefix.'_sort',$limit_s,$limit_e);
$count = Redis::zcard($hash_prefix.'_sort');
$pageCount = ceil($count/$pageSize);
$pageList = array();
foreach($range as $qid){
if(count($key) > 0){
$pageList[] = Redis::hmget($hash_prefix.'_'.$qid,$key);
}else{
$pageList[] = Redis::hgetall($hash_prefix.'_'.$qid);
}
}
$data = array(
'data'=>$pageList,
'pageInfo'=>array(
'page'=>$page, //当前页数
'pageSize'=>$pageSize, //每页多少条
'count'=>$count, //记录总数
'pageCount'=>$pageCount //总页数
)
);
return $data;
}
如有侵权请邮件通知