文档章节

php-redis分页

cs_sharp
 cs_sharp
发布于 2015/12/28 13:53
字数 124
阅读 66
收藏 1

源码

public function getList($start,$num) {
    $redis = $this->_context->getRedis();

    //total count
    $count = $redis->zCard('base:list:' . $guestTypeId);
    if ($count == 0)
        return array('total' => 0, 'items' => null);

    //ids
    $option = array('withscores' => false, 'limit' => array((int)$start, (int)$num));
    $ids = $redis->zRevRangeByScore('base:list', '+inf', '-inf', $option);

    //items
    $items = $this->getListByIds($ids);
    return array('total' => $count, 'items' => $items);
}



public function getListByIds($ids) {
   $redis = $this->_context->getRedis();
   $result = array();
   foreach ($ids as $itemId => $itemVal) {
      $detail = $redis->hGetAll('base:info:' . $itemVal);
      array_push($result, $detail);
   }
   return $result;
}

获取列表

    $option = array('withscores' => false, 'limit' => array((int)$start, (int)$num));
    $ids = $redis->zRevRangeByScore('base:list', '+inf', '-inf', $option);

获取明细

    $result = array();
    $detail = $redis->hGetAll('base:info:' . $id);
    array_push($result, $detail);

© 著作权归作者所有

共有 人打赏支持
cs_sharp
粉丝 56
博文 151
码字总数 17766
作品 0
北京
后端工程师
Redis 笔记与总结8 PHP + Redis 信息管理系统(分页+好友关注)

Redis 笔记与总结8 PHP + Redis 信息管理系统(分页+好友关注) 分页 要对列表页进行分页,需要知道: ①用户总数 $count ② 页大小 $pageSize:用户自定义 ③ 当前页:$page:GET 方式获取 ...

蜗牛奔跑
2016/03/10
22
0
使用Redis中hscan的坑

当Redis操作Hash中的大量数据时,需要用到分页操作hscan,然而在做简单的测试时,可能会发现分页功能不好用,需要注意field的数据量。 --------------------------------------------------...

Airship
01/22
0
0
jfinal里redis分页问题

@JFinal 你好,想跟你请教个问题: 我在使用jfinal2.0版本redis插件时遇到几个问题: 一.DbPro类的分页方法paginate,为了给分页数据添加缓存,我在原方法顶部加了一个关于redis的判断,在原...

romeo2015
2016/01/04
644
1
大偏移量下Redis、MongoDB分页/排名性能比较

题目其实并不太准确,因为数据库并不会提供分页、排名等功能,提供的只是数据的存取,分页排名这些都是我们基于数据库的实用案例而已。然而无论是Redis还是MongoDB,通常都有一些常规的做分页...

红薯
2012/06/26
1K
3
技术积累笔记概要

2015年11月24日 1、rest 速率限制,写属于自己的方法。 2、actions方法深刻了解。 3、YII技术博客:http://blog.csdn.net/terrywater/article/category/2565815。 4、静态方法传递参数的习惯...

风清扬-深圳
2015/11/24
78
0

没有更多内容

加载失败,请刷新页面

加载更多

启动线程以及安全终止线程

启动 使用start()方法可以启动线程。 start()方法的含义是告知线程规划器线程已初始化完毕,可以分给这个线程时间片了(执行run()方法)。 安全终止线程 示例代码 import java.util.concurr...

karma123
20分钟前
1
0
Python+OpenCV 图像风格迁移(模仿名画)

现在很多人都喜欢拍照(自拍)。有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma、versa 等,可以把你的照片变成 梵高、毕加索、蒙克 等大师的风格。 这...

crossin
25分钟前
1
0
karabiner json语法

karabiner json语法 to_if_alone 如果同时制定了to, 那么to对应的key必须是非可见字符,例如control,shift或者command, 为什么呢? If to events are specified, to events are released befo...

黄威
26分钟前
1
0
学习设计模式——工厂方法模式

1. 认识工厂方法模式 1. 功能:定义一个用于创建对象的接口,让子类决定实例化哪一个类,该模式使一个类的实例化延迟到其子类中。 2. 组织结构: Product: 定义工厂方法中用来创建对象的接口...

江左煤郎
26分钟前
1
0
常用的大数据技术有哪些?

大数据技术为决策提供依据,在政府、企业、科研项目等决策中扮演着重要的角色,在社会治理和企业管理中起到了不容忽视的作用,很多国 家,如中国、美国以及欧盟等都已将大数据列入国家发展战...

董黎明
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部