redis实现二次检索

一、保存一次查询结果至redis

String key=keyword+"_"+books+"_contents";
        List<String> contents_json=new ArrayList<>();
        for(ContentInfo c:contents){
            contents_json.add(ObjectMapperUtil.toJSON(c));
        }
        RedisUtil.rpush(key,contents_json);
        String key1=keyword+"_"+books+"_pageSum";
        RedisUtil.set(key1, String.valueOf(x));

将结果以list格式保存至redis

List<String> contents_json=new ArrayList<>();
        for(ContentInfo c:contents){
            contents_json.add(ObjectMapperUtil.toJSON(c));
        }
        RedisUtil.rpush(key,contents_json);

二、redis分页查询

先在redis数据库查询

 if(RedisUtil.exists(key)){
            List<String> contends_json=RedisUtil.hZget(key,(page-1)*pagenum,page*pagenum);
            List<ContentInfo> contents= JSONArray.parseArray(contends_json.toString(),ContentInfo.class);
            return new R(true,Integer.parseInt(RedisUtil.get(key1)),contents);
        }

若查询不到则在数据库查询并添加数据至redis,即调用上述方法

else{
            return getCont2(keyword,page,books,request);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis 的二级缓存默认使用的是内存缓存,但是我们也可以通过配置来使用其他第三方缓存库实现二级缓存,比如 Redis实现步骤如下: 1. 引入 Redis 相关依赖 ``` <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1</version> </dependency> ``` 2. 配置 RedisTemplate 在 MyBatis 的配置文件中添加如下配置: ``` <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"/> </bean> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="127.0.0.1"/> <property name="port" value="6379"/> <property name="password" value=""/> <property name="database" value="0"/> </bean> ``` 3. 配置 RedisCache 在 MyBatis 的配置文件中添加如下配置: ``` <cache type="org.mybatis.caches.redis.RedisCache"/> ``` 4. 修改 Mapper 文件 在需要使用二级缓存的 Mapper 文件中,添加如下配置: ``` <cache type="org.mybatis.caches.redis.RedisCache"/> ``` 5. 测试 在测试时,将日志级别设置为 DEBUG,查看日志信息,以确认是否使用了 Redis 实现的缓存。 ``` <!-- log4j2 配置 --> <Logger name="org.mybatis.caches.redis.RedisCache" level="debug"/> ``` 以上就是使用 Redis 实现 MyBatis 二级缓存的步骤。需要注意的是,使用 Redis 实现的缓存,需要手动实现序列化和反序列化方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值