Redisson是redis官方推荐的java版的Redis客户端.redisson提供了多种分布式对象,分布式集合和分布式锁.
maven引用
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.13.4</version>
</dependency>
RedissonClient
连接本地redis
RedissonClient client = Redisson.create();
根据配置文件连接
Config config=new Config();
config.useSingleServer()
.setAddress("redis://host/:6379")
.setPassword("password")
.setDatabase(0);
RedissonClient client= Redisson.create(config);
集群模式
config config = new Config();
config.useClusterServers()
.setScanInterval(2000) // 集群状态扫描间隔时间,单位是毫秒
//可以用"rediss://"来启用SSL连接
.addNodeAddress("redis://127.0.0.1:7000", "redis://127.0.0.1:7001")
.addNodeAddress("redis://127.0.0.1:7002");
RedissonClient redisson = Redisson.create(config);
集成spring cache
@Bean(destroyMethod="shutdown")
RedissonClient redisson() throws IOException {
Config config = new Config();
config.useClusterServers()
.addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001");
return Redisson.create(config);
}
@Bean
CacheManager cacheManager(RedissonClient redissonClient) {
Map<String, CacheConfig> config = new HashMap<String, CacheConfig>();
LocalCachedMapOptions options = LocalCachedMapOptions.defaults()
.evictionPolicy(EvictionPolicy.LFU)
.cacheSize(1000);
// 创建一个名称为"testMap"的缓存,过期时间ttl为24秒钟,同时最长空闲时maxIdleTime为12秒钟。
config.put("testMap", new LocalCachedCacheConfig(24*60*1000, 12*60*1000, options));
return new RedissonSpringLocalCachedCacheManager(redissonClient, config);
}