zoukankan      html  css  js  c++  java
  • RedisTemplate 分页

    利用spring redis的RedisTemplate进行分页:

    场景:

    现有项目若干,根据项目的创建时间(createTime)进行降序读取:

    存储结构:

    key:proList(list)

    存放项目id

    [

    110,

    111,

    112

    ]

    key:proInfo:{proId}(hash)

    pro:110

    {

    id:110,

    proName:p110,

    createTime:"2019:01:03 04:23:35"

    }

    pro:111

    {

    id:111,

    proName:p1111,

    createTime:"2019:01:03 04:24:56"

    }

    pro:112

    {

    id:112,

    proName:p112,

    createTime:"2019:01:03 04:25:35"

    }

    分页方法:

    public static <T> List<T> sortPageList(String key, String subKey, String by, boolean isDesc, boolean isAlpha, int off, int num) throws Exception {
    SortQueryBuilder<String> builder = SortQueryBuilder.sort(key);
    builder.by(subKey + "*->" + by);
    builder.get("#");
    builder.alphabetical(isAlpha);
    if (isDesc)
    builder.order(SortParameters.Order.DESC);
    builder.limit(off, num);
    List<String> cks = redisTemplate.sort(builder.build());
    List<T> result = new ArrayList<T>();
    for (String ck : cks) {
    //得到项目对象 by(subKey+ck);
    }
    return result;

    }

    调用方法:
    sortPageList("proList","pro:","createTime",true,false,0,20)//本次分页取前20条数据0-->19
    需要注意到的是isAlpha参数

    如果设置为true

    将按照字幕顺序进行排序。

  • 相关阅读:
    引物设计重复性查看
    NCBI获取指定区域基因序列及其引物设计
    视频录制软件——Bandicam使用介绍
    SX知识学习——IGV
    常用网站总结
    计算机知识学习——window上配置perl环境(转)
    ubuntu virtualenv安装
    Windows下使用virtualenv
    linux ssh连接设置
    linux 搭建FTP
  • 原文地址:https://www.cnblogs.com/austinspark-jessylu/p/9370676.html
Copyright © 2011-2022 走看看