用Redisson做Redis数据缓存

一、配置redis

1、配置redis基本信息,一般在application.yml文件里

  redis:
    host: 11.111.10.61
    port: 1239
    database: database
    password: password
    timeout: 10s

2、配置redis的config类,

@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());
    }

你可能感兴趣的:(java,spring)