前言
最近有个新项目,不是写增删改查,而是缓存相关,紧张又高兴。
大概是这样的需求,在项目首页有个展示栏,数据大概率经常不会变,每次查询都需要差数据库,所以需要给这个查询方法加一个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可视化工具