首先创建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); }