[Redis系列]Redisson用途一Redis服务连接工具

Redisson是一款基于Netty的高性能Redis客户端,支持多种Redis服务模式,如单机、主从、哨兵和集群。它提供了丰富的分布式服务功能,包括RPC、实时对象、ExecutorService、SchedulerService和MapReduce。此外,Redisson还能够无缝集成到Spring等第三方框架中,为开发者提供便捷的数据管理和分布式解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redisson底层基于Netty,所以说,它可以用来做很多事情。

  • Redis客户端工具
    • Redis命令执行
    • Redis服务治理(节点管理)
  • 分布式服务
    • 分布式远程服务(RPC)
    • 分布式实时对象服务(Live Object)
    • 分布式执行服务(Executor Service)
    • 分布式调度任务服务(Scheduler Service)
    • 分布式映射归纳服务(MapReduce)
  • 集成到Spring等第三方框架

Redis服务目前有四种形式:单机、主从模式、哨兵模式、集群模式。Redisson作为一款实用很普遍的Redis应用客户端,也支持者几种模式的配置。

单机模式

// 默认连接地址 127.0.0.1:6379
RedissonClient redisson = Redisson.create();
Config config = new Config();
config.useSingleServer().setAddress("myredisserver:6379");

RedissonClient redisson = Redisson.create(config);

主从模式

个人感觉,主从模式,是Redis服务比较核心的一种场景。其中涉及数据同步(全量复制等)、数据备份(持久化:RDB、AOF)、读写分离(master写,slave读)等知识点,在主从模式中都可以说的清楚。

Config config = new Config();
config.useMasterSlaveServers()
        //可以用"rediss://"来启用SSL连接
        .setMasterAddress("redis://127.0.0.1:6379")
        .addSlaveAddress("redis://127.0.0.1:6389", "redis://127.0.0.1:6332", "redis://127.0.0.1:6419")
        .addSlaveAddress("redis://127.0.0.1:6399")
        .setDnsMonitoringInterval(5000) //DNS监控间隔,单位:毫秒
        .setReadMode(ReadMode.MASTER_SLAVE) //读取操作的负载均衡模式
        .setSubscriptionMode(SubscriptionMode.SLAVE) //订阅操作的负载均衡模式,SLAVE - 只在从服务节点里订阅。 MASTER - 只在主服务节点里订阅
        .setLoadBalancer(new org.redisson.connection.balancer.RoundRobinLoadBalancer()) // 负载均衡算法类的选择
        .setSubscriptionConnectionMinimumIdleSize(1) //从节点发布和订阅连接的最小空闲连接数
        .setSubscriptionConnectionPoolSize(50) //从节点发布和订阅连接池大小
        .setSlaveConnectionMinimumIdleSize(32) //从节点最小空闲连接数
        .setSlaveConnectionPoolSize(64) //从节点连接池大小
        .setMasterConnectionMinimumIdleSize(32) //主节点最小空闲连接数
        .setMasterConnectionPoolSize(64) //主节点连接池大小
        .setIdleConnectionTimeout(10000) //连接空闲超时,单位:毫秒
        .setConnectTimeout(10000) //连接超时,单位:毫秒
        .setTimeout(3000) //命令等待超时,单位:毫秒
        .setRetryAttempts(3) //命令(发送)失败重试次数
        .setRetryInterval(1500) // 命令重试发送时间间隔,单位:毫秒,与retryAttempts配合,三次重试均失败,则对应节点需要被剔除
        .setDatabase(0) // 数据库编号
        //.setPassword("") //密码设置
        .setSubscriptionsPerConnection(5) //单个连接最大订阅数量
        .setSslEnableEndpointIdentification(true) //启用SSL终端识别
        .setSslProvider(SslProvider.JDK) // SSL实现方式
        //.setSslTruststorePassword("") //SSL信任证书库密码
        //.setSslKeystore(new URI("")) //SSL钥匙库路径
        //.setSslKeystorePassword("")//SSL钥匙库密码
        .setClientName("clientName");
RedissonClient redisson = Redisson.create(config);

哨兵模式

Config config = new Config();
config.useSentinelServers()
    .setMasterName("mymaster")
    //可以用"rediss://"来启用SSL连接
    .addSentinelAddress("redis://127.0.0.1:26389", "redis://127.0.0.1:26379")
    .addSentinelAddress("redis://127.0.0.1:26319");

RedissonClient redisson = 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);

学到这里,感觉:刨洋芋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值