过期密钥集群模式-spring数据redis

3duebb1j  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(183)

我正在尝试侦听redis集群的不同节点中的过期事件。redis集群有3个主节点。由于某些原因,应用程序只订阅了一个随机redis节点。我找到了以下线程,但解决方法是侦听所有主节点。我也尝试过绝Map书馆。如何强制spring配置侦听所有节点?这是我当前的配置:

  1. @Bean
  2. public RedisConnectionFactory redisConnectionFactory() {
  3. RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration(Arrays.asList("172.18.0.2:6379,172.18.0.3:6379,172.18.0.4:6379".split(",")));
  4. clusterConfiguration.setMaxRedirects(10000);
  5. LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(clusterConfiguration);
  6. return lettuceConnectionFactory;
  7. }
  8. @Bean
  9. RedisMessageListenerContainer redisMessageListenerContainer(RedisConnectionFactory redisConnectionFactory, @Qualifier("expirationListenerAdapter") MessageListenerAdapter expirationListenerAdapter) {
  10. RedisMessageListenerContainer container = new RedisMessageListenerContainer();
  11. container.setConnectionFactory(redisConnectionFactory);
  12. container.addMessageListener(expirationListenerAdapter, new PatternTopic("__keyevent@*__:expired"));
  13. return container;
  14. }
  15. @Bean("expirationListenerAdapter")
  16. MessageListenerAdapter expirationListenerAdapter(RedisReceiver redisReceiver) {
  17. return new MessageListenerAdapter(ListenerClass, "expiredEvent");
  18. }
  19. @Bean
  20. ListenerClass receiver() {
  21. return new ListenerClass();
  22. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题