利用Redis给方法加缓存

前言

最近有个新项目,不是写增删改查,而是缓存相关,紧张又高兴。
大概是这样的需求,在项目首页有个展示栏,数据大概率经常不会变,每次查询都需要差数据库,所以需要给这个查询方法加一个redis缓存,让他每次去命中缓存直接返回结果。记第一次写redis的收获与踩坑把…


准备

从开始记录一下了。思路和准备。

  • 首先我们需要一个redis工具类,新建一个包,添加一个RedisUtil类
    方法是去存一个List到缓存中。方法如下:
public <T> void  setListAll(String key, List<T> list) {
        redisTemplate.opsForList().leftPushAll(key, list);
    }

    public <T> List<T> getListAll(String key) {
        return (List<T>)redisTemplate.opsForList().range(key, 0, -1);
    }
  • 配置SpringBoot的redis配置:使用db3
 spring.redis.database=3
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.max-wait=-1ms
spring.redis.jedis.pool.min-idle=0
spring.redis.timeout=10000ms

踩到的坑

使用这种存List的形式呢,会导致我们初始传参的List会被再包一层List,就导致我最后的返回处理变为空。。。我们在取的时候对List进行get(0)操作,这个当时看了半天没明白…

Tips

过程中频繁的查看redis中id和value,推荐一款redis可视化工具

下载可视化工具

你可能感兴趣的:(Redis,redis,缓存,java)