一、配置redis
1、配置redis基本信息,一般在application.yml文件里
redis:
host: 11.111.10.61
port: 1239
database: database
password: password
timeout: 10s
pom文件导入redisson
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
</dependency>
2、配置redis的config类,
//自动装填redis
@Autowired
private RedissonClient redissonClient;
@ConfigurationProperties(prefix = "spring.redis")//读取yml文件
public class RedissonConfiguration {
private String host;
private String port;
private String password;
private int database;
//只写了基本的配置,项目中要自己去添加设置
RedissonClient getRedissonClient() {
Config config = new Config();
config.useSingleServer()
.setAddress("redis://" + host + ":" + port)
.setPassword(password)
.setDatabase(database)
config.setCodec(new JsonJacksonCodec() );
return Redisson.create(config);
}
}
二、存取缓存
public String setCache(String cacheInfo) {
//这一步可以理解是给map取了个名字"cacheInfo" 我们到其他地方可以用这个名字调出这个map
//这里举例用map存数据,redis支持的远不止map
RMap<String, String> map = redissonClient.getMap("cacheInfo");
//将数据存入缓存
map.put("cacheInfo", cacheInfo);
//设置缓存的时间
map.expire(1, TimeUnit.DAYS);
return map.get("cacheInfo");
}
public String getCache() {
//这里就是通过上面方法给map取的名字"cacheInfo"调到对应的map
RMap<String, String> map = redissonClient.getMap("cacheInfo");
if (!StringUtil.isNotEmpty(map.get("cacheInfo))) {
throw new ParameterValidationException("获取缓存失败,请重新登陆!!");
}
return map.get(user.getId());
}