1.引入相关jar
springboot整合redis相关依赖引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.相关配置文件配置
redis: database: 0 # redis 地址这是云的 host: xxx.xxx.xx.xx #连接端口号 port: 6379 #连接超时时间 timeout: 5000 jedis: pool: max-idle: 10 #最大连接数 min-idle: 10 #最小连接数 max-active: 200 #实例数 max-wait: 36000 #最大可用连接超时时间
3.写redis 的工具类
@Component public class RedisBase{ @Autowired private StringRedisTemplate stringRedisTemplate; @Autowired private RedisTemplate redisTemplate; public static synchronized Boolean connect(){ return true; } /* * 检查Key是否存在 * */ public Boolean checkKey(String key){ boolean check = stringRedisTemplate.hasKey(key); return check; } /* * 存入string * */ public boolean setString(String key ,String value){ try{ stringRedisTemplate.opsForValue().set(key,value); }catch (Exception e){ e.printStackTrace(); }finally { } return true; } /* * 存入list * */ public <T> boolean setList(String key , List<T> list){ try{ redisTemplate.opsForList().rightPush(key,list); }catch (Exception e){ e.printStackTrace(); }finally { } return true; } /* * 存入map * */ public boolean setmap(String key , Map<Object,Object> map){ try{ redisTemplate.opsForHash().putAll(key,map); }catch (Exception e){ e.printStackTrace(); }finally { } return true; } /* * 根据key取值 * */ public Object get(String key){ String value = stringRedisTemplate.opsForValue().get(key).toString(); return value; } /* * 根据key删除缓存 * */ private boolean delete(String key){ boolean delete = stringRedisTemplate.delete(key); return delete; }
这里我引入了两个redis 的处理类
其实这StringRedisTemplate 是继承 RedisTemplate 的 只是StringRedisTemplate 只处理String 类型的 所以是混合使用的
这里其实还有一点点的问题我使用RedisTemplate 存的list 和 has 的被序列化无法识别了 ,这涉及到序列化的格式了
JdkSerializationRedisSerializer 这种的方式 ,具体后面研究好了再来写。