Maven依赖
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.21.3</version>
</dependency>
Redisson配置
此处以sentinel模式为例
redisson.yml
---
sentinelServersConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveCheckInterval: 60000
password: redisredisroot
subscriptionsPerConnection: 5
clientName: null
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 24
slaveConnectionPoolSize: 64
masterConnectionMinimumIdleSize: 24
masterConnectionPoolSize: 64
readMode: "SLAVE"
subscriptionMode: "SLAVE"
sentinelAddresses:
- "redis://192.168.88.151:26379"
- "redis://192.168.88.152:26379"
- "redis://192.168.88.153:26379"
masterName: "mymaster"
database: 0
threads: 16
nettyThreads: 32
codec: !<org.redisson.codec.Kryo5Codec> {}
transportMode: "NIO"
注册bean
@Bean
@SneakyThrows
public RedissonClient redissonClient(ApplicationContext applicationContext) {
Resource resource = applicationContext.getResource("classpath:/redisson.yml");
Config config = Config.fromYAML(resource.getInputStream());
return Redisson.create(config);
}
基本存取
@SpringBootTest
public class TempTest {
@Autowired
private RedissonClient redissonClient;
@Test
void testRedisson() {
RBucket<Object> bucket = redissonClient.getBucket("test");
bucket.set("testValue");
System.out.println(bucket.get());
}
}
参考文档
PREVIOUSRedis Sentinel环境搭建
NEXTMySQL主从架构搭建