存redis + 取redis分页

首先创建redis的配置类

@Configuration
public class RedisConfigs {

    @Bean(name = "customRedisConfig")
    public RedisTemplate<String, BSecurityInspectionGistVo> userRedisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<String, BSecurityInspectionGistVo> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);

        // 设置key和value序列化方式
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(new Jackson2JsonRedisSerializer<>(BSecurityInspectionGistVo.class));

        // 设置hash的key和value序列化方式
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(new Jackson2JsonRedisSerializer<>(BSecurityInspectionGistVo.class));

        template.afterPropertiesSet();
        return template;
    }
}

其次再是业务代码,(我这里是ruoyi-plus的框架)

  /**
     * 查询检查依据管理列表
     */
    @Override
    public TableDataInfo<BSecurityInspectionGistVo> queryPageList(BSecurityInspectionGistBo bo, PageQuery pageQuery) {
        long startIndex = (pageQuery.getPageNum() - 1) * pageQuery.getPageSize();
        long endIndex = startIndex + pageQuery.getPageSize() - 1;
        List<BSecurityInspectionGistVo> range1 = redisTemplate.opsForList().range(Constants.gist, 0, -1);
        List<BSecurityInspectionGistVo> range = redisTemplate.opsForList().range(Constants.gist, startIndex, endIndex);
        if (CollectionUtil.isNotEmpty(range1) && CollectionUtil.isNotEmpty(range)){
            if(StringUtils.isNotEmpty(bo.getInspectionItem())){
                List<BSecurityInspectionGistVo> collect1 = range1.stream()
                        .filter(BSecurityInspectionGist -> BSecurityInspectionGist.getInspectionItem()
                                .contains(bo.getInspectionItem()))
                        .collect(Collectors.toList());
                return TableDataInfo.buildList(collect1,collect1);
            }
            return TableDataInfo.buildList(range,range1);
        }
        LambdaQueryWrapper<BSecurityInspectionGist> lqw = buildQueryWrapper(bo);
        Page<BSecurityInspectionGistVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
        List<BSecurityInspectionGistVo> records = result.getRecords();
        if (CollectionUtil.isNotEmpty(result.getRecords())){
            for (BSecurityInspectionGistVo record : result.getRecords()) {
                if (record.getCatalogueId()!=null){
                    BSecurityIndexCatalogueVo bSecurityIndexCatalogueVo = bSecurityIndexCatalogueMapper.selectVoById(record.getCatalogueId());
                    if (ObjectUtil.isNotNull(bSecurityIndexCatalogueVo)) {
                        BSecurityIndexCatalogueVo bSecurityIndexCatalogueVo1 = bSecurityIndexCatalogueMapper.selectVoOne(Wrappers.<BSecurityIndexCatalogue>lambdaQuery()
                                .eq(BSecurityIndexCatalogue::getId, bSecurityIndexCatalogueVo.getParentId())
                        );
                            record.setCatalogueName(bSecurityIndexCatalogueVo1.getCatalogueName());
                    }
                }
            }
        }
        redisTemplate.opsForList().rightPushAll(Constants.gist, records);
        return TableDataInfo.build(result);
    }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值