Spring boot 2.0 连接 Redis 集群之 Sentinel 和 Cluster 集群模式

谁借莪1个温暖的怀抱¢ 2023-01-07 10:08 188阅读 0赞

关于 Redis 集群的搭建可以参考我的另一篇博客:
Redis 集群模式详解 - 主从(master-slave)、哨兵(sentinel)、集群(cluster)

Spring Boot 2.0 整合 Redis

下面开始 Spring Boot 2.0 整合 Redis,Spring boot 中整合 Redis 非常简单,在 pom.xml中添加依赖:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-redis</artifactId>
  4. </dependency>

Spring boot 2.0 的 spring-boot-starter-data-redis 中,默认使用的是 Lettuce 作为 Redis 客户端,它与 Jedis 的主要区别如下:

  • Jedis 是同步的,不支持异步,Jedis 客户端实例不是线程安全的,需要每个线程一个 Jedis 实例,所以一般通过连接池来使用 Jedis
  • Lettuce 是基于 Netty 框架的事件驱动的 Redis 客户端,其方法调用是异步的,Lettuce 的 API 也是线程安全的,所以多个线程可以操作单个 Lettuce 连接来完成各种操作,同时 Lettuce 也支持连接池

如果不使用默认的 Lettuce,使用 Jedis 的话,可以排除 Lettuce 的依赖,手动加入 Jedis 依赖,如下:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-redis</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>io.lettuce</groupId>
  7. <artifactId>lettuce-core</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>
  11. <dependency>
  12. <groupId>redis.clients</groupId>
  13. <artifactId>jedis</artifactId>
  14. <version>3.4.1</version>
  15. </dependency>

在配置文件 application.yml 中添加配置(针对单实例)

  1. spring:
  2. redis:
  3. host: 192.168.1.30
  4. port: 6379
  5. password: 123456
  6. database: 1 # 数据库索引,默认0
  7. timeout: 6000 # 连接超时,单位ms
  8. jedis: # 或lettuce, 连接池配置,springboot 2.0 中使用 jedis 或者 lettuce 配置连接池,默认为 lettuce 连接池
  9. pool:
  10. max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
  11. max-wait: -1 # 连接池分配连接最大阻塞等待时间(阻塞时间到,抛出异常。使用负值表示无限期阻塞)
  12. max-idle: 8 # 连接池中的最大空闲连接数
  13. min-idle: 0 # 连接池中的最小空闲连接数

添加配置类 RedisConfig,其中 @EnableCaching 注解是为了使 @Cacheable、@CacheEvict、@CachePut、@Caching 注解生效

  1. import com.fasterxml.jackson.annotation.JsonAutoDetect;
  2. import com.fasterxml.jackson.annotation.PropertyAccessor;
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import org.springframework.cache.annotation.EnableCaching;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.data.redis.connection.RedisConnectionFactory;
  8. import org.springframework.data.redis.core.RedisTemplate;
  9. import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
  10. import org.springframework.data.redis.serializer.RedisSerializer;
  11. import org.springframework.data.redis.serializer.StringRedisSerializer;
  12. @Configuration
  13. @EnableCaching
  14. public class RedisConfig {
  15. /** * redis重写RedisTemplate. */
  16. @Bean
  17. public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
  18. RedisTemplate<String, Object> redisTemplate = new RedisTemplate();
  19. redisTemplate.setConnectionFactory(redisConnectionFactory);
  20. Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
  21. ObjectMapper om = new ObjectMapper();
  22. om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
  23. //序列化时允许非常量字段均输出类型,即redis序列化后带有类型
  24. om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
  25. jackson2JsonRedisSerializer.setObjectMapper(om);
  26. RedisSerializer<String> stringSerializer = new StringRedisSerializer();
  27. // key 采用 String 的序列化方式
  28. redisTemplate.setKeySerializer(stringSerializer);
  29. // hash 的 key 也采用 String 的序列化方式
  30. redisTemplate.setHashKeySerializer(stringSerializer);
  31. // value 序列化方式采用 jackson
  32. redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
  33. // hash 的 value 序列化方式采用 jackson
  34. redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
  35. redisTemplate.afterPropertiesSet();
  36. return redisTemplate;
  37. }
  38. }

上述配置类注入了自定义的 RedisTemplate, 替换 RedisAutoConfiguration 中自动配置的 RedisTemplate 类(RedisAutoConfiguration 另外还自动配置了 StringRedisTemplate)。

此时,我们可以通过定义一个基于 RedisTemplate 的工具类,或通过在 Service 层添加 @Cacheable、@CacheEvict、@CachePut、@Caching 注解来使用缓存。比如定义一个 RedisService 类,封装常用的 Redis 操作方法:

  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. import org.springframework.data.redis.core.RedisTemplate;
  4. import org.springframework.data.redis.core.StringRedisTemplate;
  5. import org.springframework.stereotype.Component;
  6. import org.springframework.util.CollectionUtils;
  7. import java.util.Objects;
  8. import java.util.Properties;
  9. import java.util.concurrent.TimeUnit;
  10. @Component
  11. public class RedisService {
  12. private static final Logger LOGGER = LoggerFactory.getLogger(RedisService.class);
  13. private RedisTemplate<String, Object> redisTemplate;
  14. private StringRedisTemplate stringRedisTemplate;
  15. public RedisService(RedisTemplate<String, Object> redisTemplate,
  16. StringRedisTemplate stringRedisTemplate) {
  17. this.redisTemplate = redisTemplate;
  18. this.stringRedisTemplate = stringRedisTemplate;
  19. }
  20. /** * 普通缓存放入 * * @param key 键 * @param value 值 * @return */
  21. public void set(String key, Object value) {
  22. try {
  23. redisTemplate.opsForValue().set(key, value);
  24. } catch (Exception e) {
  25. LOGGER.error("exception when set key {}. ", key, e);
  26. }
  27. }
  28. /** * 普通缓存放入并设置时间 * * @param key 键 * @param value 值 * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 * @return */
  29. public void set(String key, Object value, long time) {
  30. try {
  31. if (time > 0) {
  32. redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
  33. } else {
  34. this.set(key, value);
  35. }
  36. } catch (Exception e) {
  37. LOGGER.error("exception when set key {}. ", key, e);
  38. }
  39. }
  40. /** * 指定缓存失效时间 * * @param key 键 * @param time 时间(秒) * @return */
  41. public void expire(String key, long time) {
  42. try {
  43. if (time > 0) {
  44. redisTemplate.expire(key, time, TimeUnit.SECONDS);
  45. }
  46. } catch (Exception e) {
  47. LOGGER.error("exception when expire key {}. ", key, e);
  48. }
  49. }
  50. /** * 根据key获取过期时间 * * @param key 键 不能为null * @return 时间(秒) 返回0代表为永久有效 */
  51. public long getExpire(String key) {
  52. return redisTemplate.getExpire(key, TimeUnit.SECONDS);
  53. }
  54. /** * 判断key是否存在 * * @param key 键 * @return true 存在 false不存在 */
  55. public boolean hasKey(String key) {
  56. try {
  57. return redisTemplate.hasKey(key);
  58. } catch (Exception e) {
  59. LOGGER.error("exception when check key {}. ", key, e);
  60. return false;
  61. }
  62. }
  63. /** * 删除缓存 * * @param key 可以传一个值 或多个 */
  64. @SuppressWarnings("unchecked")
  65. public void del(String... key) {
  66. if (Objects.nonNull(key) && key.length > 0) {
  67. if (key.length == 1) {
  68. redisTemplate.delete(key[0]);
  69. } else {
  70. redisTemplate.delete(CollectionUtils.arrayToList(key));
  71. }
  72. }
  73. }
  74. /** * 普通缓存获取 * * @param key 键 * @return 值 */
  75. public Object get(String key) {
  76. return Objects.isNull(key) ? null : redisTemplate.opsForValue().get(key);
  77. }
  78. /** * 递增 * * @param key 键 * @param delta 要增加几(大于0) * @return */
  79. public long incr(String key, long delta) {
  80. if (delta <= 0) {
  81. throw new RuntimeException("递增因子必须大于0");
  82. }
  83. return redisTemplate.opsForValue().increment(key, delta);
  84. }
  85. /** * 递减 * * @param key 键 * @param delta 要减少几(小于0) * @return */
  86. public long decr(String key, long delta) {
  87. if (delta <= 0) {
  88. throw new RuntimeException("递减因子必须大于0");
  89. }
  90. return redisTemplate.opsForValue().increment(key, -delta);
  91. }
  92. /** * 获取 Redis 服务器信息 * * @param type 要获取的属性类型 * @return 属性信息 */
  93. public Properties getRedisInfo(String type) {
  94. return Objects.isNull(type) ? stringRedisTemplate.getRequiredConnectionFactory().getConnection().info()
  95. : stringRedisTemplate.getRequiredConnectionFactory().getConnection().info(type);
  96. }
  97. }

在 ServiceImpl 下使用参考如下:

  1. @Service
  2. @CacheConfig(cacheNames = "users")
  3. public class UserService {
  4. private static Map<String, User> userMap = new HashMap<>();
  5. @CachePut(key = "#user.username")
  6. public User addUser(User user){
  7. user.setUid(UUID.randomUUID().toString());
  8. System.out.println("add user: " + user);
  9. userMap.put(user.getUsername(), user);
  10. return user;
  11. }
  12. @Caching(put = {
  13. @CachePut( key = "#user.username"),
  14. @CachePut( key = "#user.uid")
  15. })
  16. public User addUser2(User user) {
  17. user.setUid(UUID.randomUUID().toString());
  18. System.out.println("add user2: " + user);
  19. userMap.put(user.getUsername(), user);
  20. return user;
  21. }
  22. ...
  23. }

Spring Boot 2.0 整合 Redis Sentinel(哨兵)模式

Spring Boot 2.0 整合 Redis 哨兵模式除了配置稍有差异,其它与整合单实例模式类似,配置参考如下:

  1. spring:
  2. redis:
  3. sentinel:
  4. master: mymaster
  5. nodes: 192.168.1.29:26379,192.168.1.30:26379,192.168.1.31:26379 # 哨兵的 IP:Port 列表
  6. password: 123456
  7. database: 1 # 数据库索引,默认0
  8. timeout: 6000 # 连接超时,单位ms
  9. jedis: # 或lettuce, 连接池配置,springboot 2.0 中使用 jedis 或者 lettuce 配置连接池,默认为 lettuce 连接池
  10. pool:
  11. max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
  12. max-wait: -1 # 连接池分配连接最大阻塞等待时间(阻塞时间到,抛出异常。使用负值表示无限期阻塞)
  13. max-idle: 8 # 连接池中的最大空闲连接数
  14. min-idle: 0 # 连接池中的最小空闲连接数

Spring Boot 2.0 整合 Redis Cluster 模式

Spring Boot 2.0 整合 Redis 哨兵模式除了配置稍有差异,其它与整合单实例模式也类似,配置参考如下:

  1. spring:
  2. redis:
  3. cluster:
  4. nodes: 192.168.1.29:7001, 192.168.1.29:7002, 192.168.1.30:7003, 192.168.1.30:7004, 192.168.1.31:7005, 192.168.1.31:7006
  5. password: 123456
  6. database: 1 # 数据库索引,默认0
  7. timeout: 6000 # 连接超时,单位ms
  8. jedis: # 或lettuce, 连接池配置,springboot 2.0 中使用 jedis 或者 lettuce 配置连接池,默认为 lettuce 连接池
  9. pool:
  10. max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
  11. max-wait: -1 # 连接池分配连接最大阻塞等待时间(阻塞时间到,抛出异常。使用负值表示无限期阻塞)
  12. max-idle: 8 # 连接池中的最大空闲连接数
  13. min-idle: 0 # 连接池中的最小空闲连接数

Unit 测试

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class JedisPoolTest {
  4. private static final Logger LOGGER = LoggerFactory.getLogger(JedisPoolTest.class);
  5. @Autowired
  6. private RedisService redisService;
  7. @Test
  8. public void redisTest() {
  9. redisService.set("k111", "v111.sanchar");
  10. String v1 = Objects.isNull(redisService.get("k111")) ? "" : redisService.get("k111").toString();
  11. LOGGER.info("value: {}", v1);
  12. boolean isKeyExist = redisService.hasKey("k111");
  13. LOGGER.info("key exist: {}", isKeyExist);
  14. redisService.del("k111");
  15. String v2 = Objects.isNull(redisService.get("k111")) ? "" : redisService.get("k111").toString();
  16. LOGGER.info("value: {}", v2);
  17. Properties replication = redisService.getRedisInfo("replication");
  18. LOGGER.info("replication info: {}", replication);
  19. Properties redisInfo = redisService.getRedisInfo(null);
  20. LOGGER.info("redis Info: {}", redisInfo);
  21. }
  22. }

日志输出如下:

  1. 2021-01-16 20:47:03.998 INFO 95185 --- [ main] per.sanchar.san.JedisPoolTest : value: v111.sanchar
  2. 2021-01-16 20:47:04.004 INFO 95185 --- [ main] per.sanchar.san.JedisPoolTest : key exist: true
  3. 2021-01-16 20:47:04.011 INFO 95185 --- [ main] per.sanchar.san.JedisPoolTest : value:
  4. 2021-01-16 20:47:04.080 INFO 95185 --- [ main] per.sanchar.san.JedisPoolTest : replication info: { 192.168.1.30:7004.repl_backlog_active=1, 192.168.1.30:7004.master_replid=d262cb91b8b147ce5a15de0b711ca9fdc5754595, 192.168.1.30:7007.repl_backlog_histlen=37380, 192.168.1.30:7007.repl_backlog_size=1048576, 192.168.1.30:7007.master_repl_offset=37380, 192.168.1.31:7005.role=master, 192.168.1.31:7005.repl_backlog_histlen=40325, 192.168.1.30:7004.role=master, 192.168.1.31:7005.repl_backlog_size=1048576, 192.168.1.30:7007.second_repl_offset=-1, 192.168.1.31:7005.master_replid2=0000000000000000000000000000000000000000, 192.168.1.30:7004.repl_backlog_first_byte_offset=1, 192.168.1.31:7005.repl_backlog_active=1, 192.168.1.30:7004.connected_slaves=1, 192.168.1.30:7004.repl_backlog_size=1048576, 192.168.1.30:7003.master_replid=a236cf435d35555d623eda1057bb4be335594aca, 192.168.1.30:7004.master_repl_offset=40067, 192.168.1.30:7003.repl_backlog_active=1, 192.168.1.31:7005.master_replid=077aefe0e9768f38fd0dd79fb416c5cd98379a4c, 192.168.1.31:7005.slave0=ip=192.168.1.29,port=7002,state=online,offset=40325,lag=1, 192.168.1.30:7003.repl_backlog_first_byte_offset=1, 192.168.1.30:7004.second_repl_offset=4635, 192.168.1.31:7005.repl_backlog_first_byte_offset=1, 192.168.1.30:7003.master_repl_offset=40517, 192.168.1.30:7007.repl_backlog_first_byte_offset=1, 192.168.1.30:7007.master_replid2=0000000000000000000000000000000000000000, 192.168.1.30:7003.role=master, 192.168.1.30:7003.slave0=ip=192.168.1.31,port=7006,state=online,offset=40450,lag=0, 192.168.1.30:7007.connected_slaves=1, 192.168.1.30:7003.second_repl_offset=-1, 192.168.1.30:7007.role=master, 192.168.1.30:7007.repl_backlog_active=1, 192.168.1.30:7004.slave0=ip=192.168.1.29,port=7001,state=online,offset=40067,lag=0, 192.168.1.30:7003.repl_backlog_histlen=40517, 192.168.1.30:7004.master_replid2=a37355021b5b210a37bdf73177dd6f96030311f9, 192.168.1.30:7003.repl_backlog_size=1048576, 192.168.1.31:7005.connected_slaves=1, 192.168.1.30:7003.master_replid2=0000000000000000000000000000000000000000, 192.168.1.31:7005.master_repl_offset=40325, 192.168.1.30:7004.repl_backlog_histlen=40067, 192.168.1.30:7007.master_replid=bb66da8f8af5b72a46ee7aed3a6a5b6b41f4167e, 192.168.1.30:7003.connected_slaves=1, 192.168.1.31:7005.second_repl_offset=-1, 192.168.1.30:7007.slave0=ip=192.168.1.31,port=7008,state=online,offset=37380,lag=0}
  5. 2021-01-16 20:47:04.114 INFO 95185 --- [ main] per.sanchar.san.JedisPoolTest : redis Info: { 192.168.1.30:7004.rdb_last_bgsave_time_sec=0, 192.168.1.30:7007.used_memory_scripts=0, 192.168.1.30:7003.atomicvar_api=atomic-builtin, 192.168.1.30:7003.maxmemory_human=0B, 192.168.1.31:7005.used_memory_peak_human=2.63M, 192.168.1.30:7003.tracking_total_prefixes=0, 192.168.1.30:7007.loading=0, 192.168.1.30:7004.pubsub_channels=0, 192.168.1.30:7007.aof_last_rewrite_time_sec=-1, 192.168.1.30:7007.used_cpu_user=17.504619, 192.168.1.31:7005.keyspace_misses=0, 192.168.1.31:7005.unexpected_error_replies=0, 192.168.1.30:7004.keyspace_hits=2, 192.168.1.30:7003.aof_rewrite_in_progress=0, 192.168.1.30:7003.redis_version=6.0.10, 192.168.1.30:7004.maxmemory_policy=noeviction, 192.168.1.30:7004.used_cpu_sys=67.222929, 192.168.1.31:7005.expired_stale_perc=0.00, 192.168.1.30:7003.aof_pending_rewrite=0, 192.168.1.30:7003.rdb_last_bgsave_time_sec=0, 192.168.1.30:7004.module_fork_in_progress=0, 192.168.1.30:7004.rdb_last_save_time=1610646811, 192.168.1.30:7007.rdb_last_bgsave_status=ok, 192.168.1.30:7004.used_memory_startup=1461912, 192.168.1.30:7004.connected_clients=1, 192.168.1.31:7005.multiplexing_api=epoll, 192.168.1.30:7004.active_defrag_hits=0, 192.168.1.30:7004.aof_base_size=93, 192.168.1.30:7007.tracking_total_items=0, 192.168.1.30:7004.expired_keys=0, 192.168.1.31:7005.rss_overhead_ratio=2.20, 192.168.1.31:7005.total_connections_received=14, 192.168.1.30:7004.maxmemory=0, 192.168.1.30:7007.used_memory_peak_human=2.70M, 192.168.1.30:7004.used_memory=2719144, 192.168.1.31:7005.rejected_connections=0, 192.168.1.30:7003.keyspace_hits=9, 192.168.1.30:7003.maxmemory_policy=noeviction, 192.168.1.30:7007.uptime_in_days=0, 192.168.1.31:7005.uptime_in_seconds=29713, 192.168.1.31:7005.sync_partial_ok=0, 192.168.1.30:7007.mem_fragmentation_bytes=10841448, 192.168.1.30:7003.allocator_frag_bytes=345848, 192.168.1.30:7007.lazyfree_pending_objects=0, 192.168.1.30:7003.aof_buffer_length=0, 192.168.1.30:7007.io_threaded_reads_processed=0, 192.168.1.30:7004.active_defrag_key_hits=0, 192.168.1.31:7005.sync_partial_err=1, 192.168.1.30:7003.aof_last_write_status=ok, 192.168.1.30:7007.maxmemory=0, 192.168.1.30:7004.tracking_clients=0, 192.168.1.30:7003.aof_last_bgrewrite_status=ok, 192.168.1.30:7004.blocked_clients=0, 192.168.1.30:7004.used_memory_peak_perc=97.11%, 192.168.1.30:7003.master_replid2=0000000000000000000000000000000000000000, 192.168.1.30:7004.repl_backlog_first_byte_offset=1, 192.168.1.31:7005.used_memory_lua=37888, 192.168.1.30:7003.used_cpu_sys_children=0.005521, 192.168.1.30:7003.rdb_last_save_time=1610647528, 192.168.1.30:7003.aof_base_size=0, 192.168.1.30:7004.lru_clock=35435, 192.168.1.30:7007.total_reads_processed=26712, 192.168.1.30:7007.active_defrag_key_misses=0, 192.168.1.31:7005.aof_current_rewrite_time_sec=-1, 192.168.1.31:7005.redis_git_sha1=00000000, 192.168.1.31:7005.aof_last_bgrewrite_status=ok, 192.168.1.30:7003.io_threads_active=0, 192.168.1.30:7007.aof_rewrite_in_progress=0, 192.168.1.30:7004.configured_hz=10, 192.168.1.30:7003.slave_expires_tracked_keys=0, 192.168.1.30:7004.expired_time_cap_reached_count=0, 192.168.1.30:7004.rejected_connections=0, 192.168.1.30:7004.aof_buffer_length=0, 192.168.1.30:7007.allocator_resident=7483392, 192.168.1.30:7007.module_fork_in_progress=0, 192.168.1.30:7004.pubsub_patterns=0, 192.168.1.31:7005.process_id=7978, 192.168.1.30:7007.os=Linux 4.18.0-240.1.1.el8_3.x86_64 x86_64, 192.168.1.31:7005.rss_overhead_bytes=6471680, 192.168.1.30:7007.aof_pending_rewrite=0, 192.168.1.30:7007.run_id=fbae47116c3eae7549a21b2903e3b43ed88b2ea3, 192.168.1.30:7004.gcc_version=8.3.1, 192.168.1.30:7003.expired_stale_perc=0.00, 192.168.1.30:7007.sync_partial_ok=0, 192.168.1.30:7007.used_memory_startup=1460872, 192.168.1.30:7004.process_id=7872, 192.168.1.30:7004.aof_last_write_status=ok, 192.168.1.30:7004.io_threaded_writes_processed=0, 192.168.1.30:7004.uptime_in_days=0, 192.168.1.30:7004.total_system_memory=2933927936, 192.168.1.31:7005.maxmemory_human=0B, 192.168.1.30:7007.executable=/root/redis-server, 192.168.1.31:7005.allocator_allocated=2793296, 192.168.1.30:7004.io_threads_active=0, 192.168.1.30:7004.used_cpu_sys_children=0.007108, 192.168.1.30:7007.used_memory_lua=37888, 192.168.1.31:7005.redis_version=6.0.10, 192.168.1.30:7004.allocator_active=3198976, 192.168.1.30:7004.instantaneous_ops_per_sec=2, 192.168.1.30:7007.rdb_bgsave_in_progress=0, 192.168.1.31:7005.aof_delayed_fsync=0, 192.168.1.30:7004.io_threaded_reads_processed=0, 192.168.1.30:7003.redis_mode=cluster, 192.168.1.30:7003.rss_overhead_ratio=2.18, 192.168.1.30:7004.slave0=ip=192.168.1.29,port=7001,state=online,offset=40067,lag=0, 192.168.1.30:7004.instantaneous_output_kbps=0.24, 192.168.1.30:7004.lazyfree_pending_objects=0, 192.168.1.30:7007.rdb_changes_since_last_save=0, 192.168.1.30:7004.rdb_last_cow_size=4472832, 192.168.1.30:7004.aof_rewrite_buffer_length=0, 192.168.1.30:7003.used_memory_scripts=0, 192.168.1.31:7005.repl_backlog_active=1, 192.168.1.30:7004.rss_overhead_bytes=6520832, 192.168.1.30:7007.rejected_connections=0, 192.168.1.30:7007.atomicvar_api=atomic-builtin, 192.168.1.31:7005.mem_clients_slaves=20512, 192.168.1.30:7003.active_defrag_misses=0, 192.168.1.30:7004.total_reads_processed=25592, 192.168.1.30:7003.used_cpu_user_children=0.002360, 192.168.1.30:7004.active_defrag_key_misses=0, 192.168.1.30:7003.allocator_active=3190784, 192.168.1.30:7003.blocked_clients=0, 192.168.1.30:7007.master_repl_offset=37380, 192.168.1.31:7005.connected_clients=1, 192.168.1.30:7003.lazyfree_pending_objects=0, 192.168.1.30:7003.instantaneous_ops_per_sec=5, 192.168.1.30:7004.repl_backlog_active=1, 192.168.1.31:7005.total_net_output_bytes=63223, 192.168.1.30:7007.maxmemory_human=0B, 192.168.1.30:7007.unexpected_error_replies=0, 192.168.1.30:7003.total_system_memory_human=2.73G, 192.168.1.30:7003.aof_pending_bio_fsync=0, 192.168.1.30:7003.redis_build_id=ac7b00adb80b403e, 192.168.1.30:7003.instantaneous_output_kbps=0.32, 192.168.1.30:7003.aof_enabled=1, 192.168.1.31:7005.os=Linux 4.18.0-240.1.1.el8_3.x86_64 x86_64, 192.168.1.31:7005.instantaneous_ops_per_sec=1, 192.168.1.30:7003.active_defrag_key_misses=0, 192.168.1.30:7004.expire_cycle_cpu_milliseconds=681, 192.168.1.31:7005.tracking_total_keys=0, 192.168.1.31:7005.total_system_memory_human=2.73G, 192.168.1.31:7005.used_memory_lua_human=37.00K, 192.168.1.30:7004.mem_not_counted_for_evict=120, 192.168.1.31:7005.instantaneous_output_kbps=0.00, 192.168.1.30:7003.rss_overhead_bytes=6410240, 192.168.1.30:7004.mem_clients_slaves=20512, 192.168.1.30:7007.total_system_memory=2933927936, 192.168.1.30:7004.aof_current_size=190, 192.168.1.30:7007.total_connections_received=11, 192.168.1.30:7004.arch_bits=64, 192.168.1.30:7004.repl_backlog_size=1048576, 192.168.1.30:7003.repl_backlog_first_byte_offset=1, 192.168.1.31:7005.mem_replication_backlog=1048576, 192.168.1.31:7005.aof_last_cow_size=0, 192.168.1.30:7004.tracking_total_keys=0, 192.168.1.30:7004.rdb_changes_since_last_save=0, 192.168.1.30:7007.total_net_output_bytes=86197, 192.168.1.30:7007.maxmemory_policy=noeviction, 192.168.1.31:7005.master_replid2=0000000000000000000000000000000000000000, 192.168.1.30:7003.used_memory_scripts_human=0B, 192.168.1.31:7005.rdb_last_bgsave_status=ok, 192.168.1.31:7005.total_commands_processed=28762, 192.168.1.30:7007.connected_slaves=1, 192.168.1.31:7005.aof_current_size=103, 192.168.1.31:7005.allocator_rss_ratio=1.71, 192.168.1.30:7003.expired_time_cap_reached_count=0, 192.168.1.30:7004.total_connections_received=13, 192.168.1.30:7003.mem_not_counted_for_evict=122, 192.168.1.31:7005.role=master, 192.168.1.30:7003.second_repl_offset=-1, 192.168.1.31:7005.used_memory_scripts_human=0B, 192.168.1.30:7007.client_recent_max_output_buffer=0, 192.168.1.31:7005.configured_hz=10, 192.168.1.30:7003.latest_fork_usec=1120, 192.168.1.30:7003.used_cpu_sys=67.421992, 192.168.1.31:7005.mem_allocator=jemalloc-5.1.0, 192.168.1.31:7005.used_memory_human=2.59M, 192.168.1.31:7005.total_net_input_bytes=1145253, 192.168.1.30:7003.mem_clients_slaves=20512, 192.168.1.30:7004.multiplexing_api=epoll, 192.168.1.30:7004.mem_replication_backlog=1048576, 192.168.1.31:7005.mem_not_counted_for_evict=130, 192.168.1.30:7004.unexpected_error_replies=0, 192.168.1.30:7003.loading=0, 192.168.1.30:7003.used_memory_peak_perc=96.38%, 192.168.1.30:7007.instantaneous_output_kbps=0.24, 192.168.1.31:7005.allocator_frag_ratio=1.13, 192.168.1.30:7004.used_cpu_user_children=0.003586, 192.168.1.30:7003.used_memory_startup=1460888, 192.168.1.30:7007.aof_rewrite_buffer_length=0, 192.168.1.30:7003.module_fork_in_progress=0, 192.168.1.30:7004.aof_last_bgrewrite_status=ok, 192.168.1.30:7003.expired_keys=0, 192.168.1.30:7003.aof_delayed_fsync=0, 192.168.1.30:7007.role=master, 192.168.1.30:7007.uptime_in_seconds=28162, 192.168.1.31:7005.allocator_resident=5390336, 192.168.1.30:7007.pubsub_channels=0, 192.168.1.31:7005.repl_backlog_histlen=40325, 192.168.1.30:7003.migrate_cached_sockets=0, 192.168.1.31:7005.gcc_version=8.3.1, 192.168.1.31:7005.used_cpu_user=19.740241, 192.168.1.30:7004.run_id=c9946d98f9493e7765062e9ba63b067d995cbd24, 192.168.1.30:7003.total_writes_processed=2957, 192.168.1.31:7005.aof_rewrite_scheduled=0, 192.168.1.30:7003.unexpected_error_replies=0, 192.168.1.31:7005.blocked_clients=0, 192.168.1.30:7004.client_recent_max_input_buffer=8, 192.168.1.31:7005.rdb_last_cow_size=2318336, 192.168.1.30:7004.used_memory_rss=14057472, 192.168.1.30:7004.sync_partial_err=1, 192.168.1.31:7005.allocator_rss_bytes=2240512, 192.168.1.30:7003.multiplexing_api=epoll, 192.168.1.30:7007.process_id=7922, 192.168.1.31:7005.active_defrag_running=0, 192.168.1.30:7004.expired_stale_perc=0.00, 192.168.1.30:7004.sync_full=1, 192.168.1.30:7004.cluster_enabled=1, 192.168.1.30:7004.tcp_port=7004, 192.168.1.31:7005.evicted_keys=0, 192.168.1.30:7003.maxmemory=0, 192.168.1.31:7005.used_memory_peak=2755576, 192.168.1.31:7005.aof_enabled=1, 192.168.1.31:7005.db0=keys=2,expires=0,avg_ttl=0, 192.168.1.30:7004.repl_backlog_histlen=40067, 192.168.1.30:7007.hz=10, 192.168.1.30:7003.uptime_in_days=0, 192.168.1.31:7005.allocator_frag_bytes=356528, 192.168.1.30:7007.mem_aof_buffer=8, 192.168.1.31:7005.redis_build_id=4202bf8dc6d1efb3, 192.168.1.31:7005.rdb_bgsave_in_progress=0, 192.168.1.30:7007.master_replid=bb66da8f8af5b72a46ee7aed3a6a5b6b41f4167e, 192.168.1.30:7007.mem_replication_backlog=1048576, 192.168.1.30:7004.rss_overhead_ratio=1.87, 192.168.1.30:7007.used_memory_lua_human=37.00K, 192.168.1.30:7004.mem_allocator=jemalloc-5.1.0, 192.168.1.30:7007.lru_clock=35435, 192.168.1.30:7003.lru_clock=35435, 192.168.1.30:7007.blocked_clients=0, 192.168.1.30:7003.module_fork_last_cow_size=0, 192.168.1.30:7003.rejected_connections=0, 192.168.1.30:7003.pubsub_channels=0, 192.168.1.30:7003.tracking_clients=0, 192.168.1.30:7007.config_file=/usr/local/redis/cluster/redis_7007.conf, 192.168.1.30:7003.process_id=7866, 192.168.1.30:7007.aof_delayed_fsync=0, 192.168.1.30:7004.keyspace_misses=0, 192.168.1.30:7003.total_reads_processed=28824, 192.168.1.31:7005.connected_slaves=1, 192.168.1.31:7005.rdb_current_bgsave_time_sec=-1, 192.168.1.31:7005.repl_backlog_size=1048576, 192.168.1.30:7003.total_system_memory=2933927936, 192.168.1.31:7005.module_fork_last_cow_size=0, 192.168.1.30:7007.aof_current_rewrite_time_sec=-1, 192.168.1.30:7003.aof_current_rewrite_time_sec=-1, 192.168.1.30:7007.evicted_keys=0, 192.168.1.30:7004.used_cpu_user=18.629607, 192.168.1.30:7003.allocator_resident=5427200, 192.168.1.30:7003.configured_hz=10, 192.168.1.30:7007.active_defrag_key_hits=0, 192.168.1.30:7007.pubsub_patterns=0, 192.168.1.30:7003.mem_allocator=jemalloc-5.1.0, 192.168.1.31:7005.used_memory_rss_human=11.31M, 192.168.1.30:7004.total_system_memory_human=2.73G, 192.168.1.31:7005.used_memory_overhead=2531080, 192.168.1.31:7005.maxmemory=0, 192.168.1.30:7004.migrate_cached_sockets=0, 192.168.1.31:7005.number_of_cached_scripts=0, 192.168.1.30:7007.connected_clients=1, 192.168.1.30:7003.used_memory_rss=11837440, 192.168.1.30:7004.total_writes_processed=5894, 192.168.1.31:7005.second_repl_offset=-1, 192.168.1.30:7007.aof_last_bgrewrite_status=ok, 192.168.1.30:7004.mem_aof_buffer=128, 192.168.1.30:7004.allocator_allocated=2894184, 192.168.1.30:7004.aof_enabled=1, 192.168.1.30:7007.total_net_input_bytes=1006612, 192.168.1.30:7007.total_commands_processed=26695, 192.168.1.30:7003.os=Linux 4.18.0-240.1.1.el8_3.x86_64 x86_64, 192.168.1.30:7003.cluster_enabled=1, 192.168.1.31:7005.hz=10, 192.168.1.30:7003.used_cpu_user=18.995400, 192.168.1.31:7005.lru_clock=35441, 192.168.1.30:7003.repl_backlog_active=1, 192.168.1.30:7007.redis_version=6.0.10, 192.168.1.30:7003.rdb_last_bgsave_status=ok, 192.168.1.31:7005.clients_in_timeout_table=0, 192.168.1.30:7007.latest_fork_usec=1643, 192.168.1.30:7003.expire_cycle_cpu_milliseconds=756, 192.168.1.30:7003.executable=/usr/local/redis/cluster/redis-server, 192.168.1.31:7005.rdb_changes_since_last_save=0, 192.168.1.30:7004.used_memory_scripts_human=0B, 192.168.1.31:7005.active_defrag_misses=0, 192.168.1.30:7003.client_recent_max_input_buffer=8, 192.168.1.31:7005.slave_expires_tracked_keys=0, 192.168.1.30:7007.aof_last_cow_size=0, 192.168.1.30:7004.second_repl_offset=4635, 192.168.1.30:7003.uptime_in_seconds=29727, 192.168.1.31:7005.mem_fragmentation_ratio=4.47, 192.168.1.30:7003.master_repl_offset=40517, 192.168.1.30:7007.active_defrag_running=0, 192.168.1.30:7003.used_memory_peak_human=2.68M, 192.168.1.31:7005.used_memory_dataset=184952, 192.168.1.31:7005.io_threaded_writes_processed=0, 192.168.1.30:7003.pubsub_patterns=0, 192.168.1.31:7005.used_memory_dataset_perc=14.75%, 192.168.1.30:7004.redis_git_dirty=0, 192.168.1.31:7005.used_memory_scripts=0, 192.168.1.30:7007.keyspace_hits=0, 192.168.1.30:7003.tracking_total_keys=0, 192.168.1.31:7005.aof_last_write_status=ok, 192.168.1.30:7007.multiplexing_api=epoll, 192.168.1.31:7005.pubsub_channels=0, 192.168.1.31:7005.used_cpu_sys_children=0.004787, 192.168.1.30:7007.expired_time_cap_reached_count=0, 192.168.1.30:7004.redis_mode=cluster, 192.168.1.30:7007.redis_git_sha1=00000000, 192.168.1.30:7007.used_memory_human=2.59M, 192.168.1.30:7007.aof_base_size=0, 192.168.1.30:7004.total_net_input_bytes=960257, 192.168.1.30:7004.uptime_in_seconds=29721, 192.168.1.30:7007.arch_bits=64, 192.168.1.31:7005.uptime_in_days=0, 192.168.1.30:7007.allocator_allocated=2791032, 192.168.1.30:7003.arch_bits=64, 192.168.1.30:7004.mem_fragmentation_ratio=5.17, 192.168.1.30:7004.total_commands_processed=25572, 192.168.1.31:7005.tcp_port=7005, 192.168.1.31:7005.aof_buffer_length=0, 192.168.1.30:7003.aof_current_size=239, 192.168.1.31:7005.tracking_total_items=0, 192.168.1.31:7005.expired_time_cap_reached_count=0, 192.168.1.30:7007.instantaneous_ops_per_sec=2, 192.168.1.30:7004.allocator_rss_ratio=2.36, 192.168.1.31:7005.client_recent_max_output_buffer=0, 192.168.1.30:7003.mem_replication_backlog=1048576, 192.168.1.30:7007.total_system_memory_human=2.73G, 192.168.1.31:7005.mem_fragmentation_bytes=9209464, 192.168.1.30:7004.evicted_keys=0, 192.168.1.30:7007.repl_backlog_active=1, 192.168.1.30:7003.total_commands_processed=28796, 192.168.1.31:7005.used_memory_rss=11862016, 192.168.1.31:7005.io_threads_active=0, 192.168.1.30:7007.mem_clients_normal=20504, 192.168.1.30:7007.tracking_clients=0, 192.168.1.30:7007.used_memory_rss_human=12.93M, 192.168.1.30:7004.rdb_last_bgsave_status=ok, 192.168.1.30:7004.atomicvar_api=atomic-builtin, 192.168.1.30:7003.rdb_bgsave_in_progress=0, 192.168.1.31:7005.tracking_total_prefixes=0, 192.168.1.30:7004.os=Linux 4.18.0-240.1.1.el8_3.x86_64 x86_64, 192.168.1.30:7007.configured_hz=10, 192.168.1.31:7005.aof_rewrite_in_progress=0, 192.168.1.31:7005.used_cpu_user_children=0.000914, 192.168.1.30:7004.redis_git_sha1=00000000, 192.168.1.30:7004.tracking_total_items=0, 192.168.1.30:7003.mem_clients_normal=20504, 192.168.1.30:7004.used_memory_peak_human=2.67M, 192.168.1.30:7004.mem_fragmentation_bytes=11339880, 192.168.1.30:7004.used_memory_peak=2800080, 192.168.1.30:7004.module_fork_last_cow_size=0, 192.168.1.31:7005.latest_fork_usec=1400, 192.168.1.30:7003.redis_git_dirty=0, 192.168.1.30:7007.used_memory_scripts_human=0B, 192.168.1.30:7007.tracking_total_keys=0, 192.168.1.30:7003.connected_clients=1, 192.168.1.31:7005.arch_bits=64, 192.168.1.30:7004.aof_delayed_fsync=0, 192.168.1.30:7004.allocator_frag_ratio=1.11, 192.168.1.30:7003.rdb_current_bgsave_time_sec=-1, 192.168.1.30:7007.number_of_cached_scripts=0, 192.168.1.30:7004.allocator_rss_bytes=4337664, 192.168.1.31:7005.aof_pending_rewrite=0, 192.168.1.30:7007.used_memory_rss=13553664, 192.168.1.30:7007.mem_not_counted_for_evict=0, 192.168.1.30:7007.expire_cycle_cpu_milliseconds=746, 192.168.1.30:7004.allocator_resident=7536640, 192.168.1.30:7004.aof_current_rewrite_time_sec=-1, 192.168.1.31:7005.used_memory_startup=1461720, 192.168.1.31:7005.pubsub_patterns=0, 192.168.1.30:7004.tracking_total_prefixes=0, 192.168.1.30:7007.sync_full=1, 192.168.1.30:7003.repl_backlog_histlen=40517, 192.168.1.30:7003.sync_partial_err=1, 192.168.1.30:7003.sync_full=1, 192.168.1.31:7005.active_defrag_key_hits=0, 192.168.1.31:7005.aof_pending_bio_fsync=0, 192.168.1.30:7004.aof_rewrite_in_progress=0, 192.168.1.30:7003.config_file=/usr/local/redis/cluster/redis_7003.conf, 192.168.1.30:7007.repl_backlog_size=1048576, 192.168.1.30:7007.used_cpu_user_children=0.000945, 192.168.1.30:7003.used_memory_peak=2810784, 192.168.1.30:7007.allocator_active=3145728, 192.168.1.30:7007.cluster_enabled=1, 192.168.1.30:7004.connected_slaves=1, 192.168.1.30:7007.allocator_rss_ratio=2.38, 192.168.1.30:7004.aof_pending_rewrite=0, 192.168.1.31:7005.master_repl_offset=40325, 192.168.1.31:7005.io_threaded_reads_processed=0, 192.168.1.30:7007.clients_in_timeout_table=0, 192.168.1.31:7005.maxmemory_policy=noeviction, 192.168.1.30:7007.aof_last_write_status=ok, 192.168.1.30:7003.aof_last_cow_size=0, 192.168.1.30:7004.loading=0, 192.168.1.30:7003.mem_aof_buffer=128, 192.168.1.30:7007.slave_expires_tracked_keys=0, 192.168.1.30:7004.used_memory_rss_human=13.41M, 192.168.1.30:7007.used_cpu_sys_children=0.003039, 192.168.1.31:7005.master_replid=077aefe0e9768f38fd0dd79fb416c5cd98379a4c, 192.168.1.30:7007.master_replid2=0000000000000000000000000000000000000000, 192.168.1.30:7003.used_memory_lua_human=37.00K, 192.168.1.30:7003.total_net_output_bytes=101624, 192.168.1.30:7007.rdb_last_save_time=1610620865, 192.168.1.30:7007.allocator_frag_ratio=1.13, 192.168.1.30:7004.allocator_frag_bytes=304792, 192.168.1.30:7004.role=master, 192.168.1.30:7007.used_memory_dataset_perc=13.03%, 192.168.1.30:7003.connected_slaves=1, 192.168.1.30:7007.active_defrag_hits=0, 192.168.1.30:7003.hz=10, 192.168.1.30:7004.slave_expires_tracked_keys=0, 192.168.1.30:7003.rdb_changes_since_last_save=4, 192.168.1.30:7007.keyspace_misses=0, 192.168.1.30:7004.rdb_bgsave_in_progress=0, 192.168.1.31:7005.used_cpu_sys=69.783998, 192.168.1.30:7007.repl_backlog_histlen=37380, 192.168.1.30:7003.allocator_allocated=2844936, 192.168.1.30:7007.tcp_port=7007, 192.168.1.30:7004.master_repl_offset=40067, 192.168.1.30:7003.used_memory_human=2.58M, 192.168.1.30:7004.aof_last_cow_size=2289664, 192.168.1.30:7007.rdb_current_bgsave_time_sec=-1, 192.168.1.30:7004.number_of_cached_scripts=0, 192.168.1.31:7005.slave0=ip=192.168.1.29,port=7002,state=online,offset=40325,lag=1, 192.168.1.30:7003.active_defrag_hits=0, 192.168.1.30:7007.tracking_total_prefixes=0, 192.168.1.31:7005.sync_full=1, 192.168.1.31:7005.tracking_clients=0, 192.168.1.30:7007.allocator_rss_bytes=4337664, 192.168.1.30:7004.sync_partial_ok=0, 192.168.1.30:7007.redis_mode=cluster, 192.168.1.30:7007.expired_stale_perc=0.00, 192.168.1.30:7003.used_memory=2708904, 192.168.1.31:7005.migrate_cached_sockets=0, 192.168.1.31:7005.expired_keys=0, 192.168.1.31:7005.total_writes_processed=2928, 192.168.1.30:7007.instantaneous_input_kbps=0.08, 192.168.1.30:7003.slave0=ip=192.168.1.31,port=7006,state=online,offset=40450,lag=0, 192.168.1.31:7005.used_memory_peak_perc=98.56%, 192.168.1.31:7005.total_system_memory=2933927936, 192.168.1.30:7003.tcp_port=7003, 192.168.1.30:7004.used_memory_lua=37888, 192.168.1.30:7007.aof_current_size=0, 192.168.1.30:7004.used_memory_lua_human=37.00K, 192.168.1.30:7007.module_fork_last_cow_size=0, 192.168.1.30:7007.client_recent_max_input_buffer=8, 192.168.1.30:7003.number_of_cached_scripts=0, 192.168.1.31:7005.redis_git_dirty=0, 192.168.1.30:7003.total_net_input_bytes=1141805, 192.168.1.30:7007.used_memory=2713768, 192.168.1.30:7007.aof_rewrite_scheduled=0, 192.168.1.30:7004.used_memory_overhead=2551704, 192.168.1.30:7004.clients_in_timeout_table=0, 192.168.1.30:7004.master_replid2=a37355021b5b210a37bdf73177dd6f96030311f9, 192.168.1.30:7003.rdb_last_cow_size=4460544, 192.168.1.30:7004.used_memory_human=2.59M, 192.168.1.30:7003.used_memory_overhead=2550680, 192.168.1.31:7005.atomicvar_api=atomic-builtin, 192.168.1.30:7007.rss_overhead_ratio=1.81, 192.168.1.30:7007.allocator_frag_bytes=354696, 192.168.1.30:7007.used_cpu_sys=63.475495, 192.168.1.31:7005.mem_clients_normal=0, 192.168.1.30:7004.aof_last_rewrite_time_sec=0, 192.168.1.31:7005.client_recent_max_input_buffer=8, 192.168.1.30:7003.keyspace_misses=2, 192.168.1.30:7007.repl_backlog_first_byte_offset=1, 192.168.1.30:7004.master_replid=d262cb91b8b147ce5a15de0b711ca9fdc5754595, 192.168.1.31:7005.lazyfree_pending_objects=0, 192.168.1.30:7007.migrate_cached_sockets=0, 192.168.1.30:7003.aof_rewrite_scheduled=0, 192.168.1.30:7003.clients_in_timeout_table=0, 192.168.1.30:7007.total_writes_processed=2704, 192.168.1.30:7004.used_memory_dataset_perc=13.32%, 192.168.1.30:7003.client_recent_max_output_buffer=0, 192.168.1.31:7005.redis_mode=cluster, 192.168.1.30:7007.aof_buffer_length=0, 192.168.1.30:7003.used_memory_dataset=158224, 192.168.1.31:7005.config_file=/usr/local/redis/cluster/redis_7005.conf, 192.168.1.31:7005.loading=0, 192.168.1.30:7004.used_memory_dataset=167440, 192.168.1.31:7005.allocator_active=3149824, 192.168.1.30:7007.expired_keys=0, 192.168.1.30:7004.maxmemory_human=0B, 192.168.1.30:7007.aof_pending_bio_fsync=0, 192.168.1.30:7003.active_defrag_running=0, 192.168.1.30:7003.gcc_version=8.3.1, 192.168.1.30:7007.redis_build_id=ac7b00adb80b403e, 192.168.1.30:7004.rdb_current_bgsave_time_sec=-1, 192.168.1.30:7004.total_net_output_bytes=179321, 192.168.1.31:7005.active_defrag_key_misses=0, 192.168.1.30:7004.used_memory_scripts=0, 192.168.1.30:7004.active_defrag_misses=0, 192.168.1.31:7005.repl_backlog_first_byte_offset=1, 192.168.1.30:7007.redis_git_dirty=0, 192.168.1.30:7007.rdb_last_bgsave_time_sec=1, 192.168.1.30:7007.io_threaded_writes_processed=0, 192.168.1.30:7003.mem_fragmentation_ratio=4.37, 192.168.1.30:7003.io_threaded_writes_processed=0, 192.168.1.30:7004.db0=keys=1,expires=0,avg_ttl=0, 192.168.1.31:7005.keyspace_hits=2, 192.168.1.31:7005.instantaneous_input_kbps=0.04, 192.168.1.30:7003.used_memory_dataset_perc=12.68%, 192.168.1.30:7007.io_threads_active=0, 192.168.1.30:7007.gcc_version=8.3.1, 192.168.1.30:7007.used_memory_overhead=2550472, 192.168.1.30:7003.role=master, 192.168.1.30:7003.aof_last_rewrite_time_sec=-1, 192.168.1.30:7004.mem_clients_normal=20504, 192.168.1.30:7003.master_replid=a236cf435d35555d623eda1057bb4be335594aca, 192.168.1.30:7003.allocator_rss_ratio=1.70, 192.168.1.30:7003.evicted_keys=0, 192.168.1.31:7005.expire_cycle_cpu_milliseconds=937, 192.168.1.30:7004.instantaneous_input_kbps=0.08, 192.168.1.31:7005.executable=/usr/local/redis/cluster/redis-server, 192.168.1.30:7003.repl_backlog_size=1048576, 192.168.1.30:7003.redis_git_sha1=00000000, 192.168.1.30:7007.rss_overhead_bytes=6070272, 192.168.1.30:7007.sync_partial_err=1, 192.168.1.30:7003.sync_partial_ok=0, 192.168.1.31:7005.total_reads_processed=28788, 192.168.1.30:7004.hz=10, 192.168.1.30:7004.executable=/usr/local/redis/cluster/redis-server, 192.168.1.31:7005.mem_aof_buffer=160, 192.168.1.30:7003.aof_rewrite_buffer_length=0, 192.168.1.30:7007.rdb_last_cow_size=2338816, 192.168.1.30:7004.aof_rewrite_scheduled=0, 192.168.1.30:7007.used_memory_peak=2836088, 192.168.1.31:7005.aof_last_rewrite_time_sec=-1, 192.168.1.31:7005.aof_base_size=0, 192.168.1.30:7003.total_connections_received=17, 192.168.1.30:7003.used_memory_lua=37888, 192.168.1.30:7003.instantaneous_input_kbps=0.18, 192.168.1.30:7004.active_defrag_running=0, 192.168.1.30:7003.active_defrag_key_hits=0, 192.168.1.30:7007.aof_enabled=1, 192.168.1.31:7005.aof_rewrite_buffer_length=0, 192.168.1.31:7005.cluster_enabled=1, 192.168.1.30:7004.latest_fork_usec=2842, 192.168.1.30:7007.slave0=ip=192.168.1.31,port=7008,state=online,offset=37380,lag=0, 192.168.1.30:7004.redis_build_id=ac7b00adb80b403e, 192.168.1.30:7007.second_repl_offset=-1, 192.168.1.30:7004.redis_version=6.0.10, 192.168.1.30:7004.config_file=/usr/local/redis/cluster/redis_7004.conf, 192.168.1.30:7007.active_defrag_misses=0, 192.168.1.30:7007.mem_allocator=jemalloc-5.1.0, 192.168.1.31:7005.run_id=1a735b585bc2c852e26b69da2a81cfc1da691756, 192.168.1.31:7005.used_memory=2716032, 192.168.1.30:7003.db0=keys=1,expires=0,avg_ttl=0, 192.168.1.30:7003.io_threaded_reads_processed=0, 192.168.1.31:7005.rdb_last_save_time=1610619663, 192.168.1.30:7003.tracking_total_items=0, 192.168.1.30:7003.mem_fragmentation_bytes=9130088, 192.168.1.30:7004.client_recent_max_output_buffer=0, 192.168.1.31:7005.module_fork_in_progress=0, 192.168.1.30:7003.used_memory_rss_human=11.29M, 192.168.1.31:7005.active_defrag_hits=0, 192.168.1.30:7007.mem_clients_slaves=20512, 192.168.1.30:7007.used_memory_peak_perc=95.69%, 192.168.1.31:7005.rdb_last_bgsave_time_sec=0, 192.168.1.30:7007.used_memory_dataset=163296, 192.168.1.30:7004.aof_pending_bio_fsync=0, 192.168.1.30:7003.run_id=5f73ddc0ed3b70b9d2f5f83550bb0a5924347af4, 192.168.1.30:7003.allocator_rss_bytes=2236416, 192.168.1.30:7007.mem_fragmentation_ratio=5.00, 192.168.1.30:7003.allocator_frag_ratio=1.12}

发表评论

表情:
评论列表 (有 0 条评论,188人围观)

还没有评论,来说两句吧...

相关阅读