Redisson使用

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

参考文档