如何在redisson reactive api (spring boot project)中配置key过期事件监听器
how to configure the key expired event listener in redisson reactive api (spring boot project)
我正在使用 spring boot web flux with redisson。我想在我的应用程序中启用所有密钥过期事件。我这样试过。但它不起作用。
this.client.getTopic("__keyevent@*__:expired", StringCodec.INSTANCE)
.addListener(String.class, new MessageListener<String>() {
@Override
public void onMessage(CharSequence channel, String msg) {
//
}
});
我希望帮助解决这个问题。
第一个问题是,您还没有订阅听众。第二个是,如果您在 redisson 中使用模式,则不能对 pub-sub 事件使用 getTopic
。你应该像这样使用 getPatternTopic
方法。并确保最终订阅该流程。监听器应该从 PatternMessageListener
接口实现。
this.client
.getPatternTopic("__keyevent@*__:expired", StringCodec.INSTANCE)
.addListener(String.class, new PatternMessageListener<String>() {
@Override
public void onMessage(CharSequence pattern, CharSequence channel, String msg) {
System.out.println("pattern = " + pattern + ", channel = " + channel + ", msg = " + msg);
}
})
.subscribe();
我正在使用 spring boot web flux with redisson。我想在我的应用程序中启用所有密钥过期事件。我这样试过。但它不起作用。
this.client.getTopic("__keyevent@*__:expired", StringCodec.INSTANCE)
.addListener(String.class, new MessageListener<String>() {
@Override
public void onMessage(CharSequence channel, String msg) {
//
}
});
我希望帮助解决这个问题。
第一个问题是,您还没有订阅听众。第二个是,如果您在 redisson 中使用模式,则不能对 pub-sub 事件使用 getTopic
。你应该像这样使用 getPatternTopic
方法。并确保最终订阅该流程。监听器应该从 PatternMessageListener
接口实现。
this.client
.getPatternTopic("__keyevent@*__:expired", StringCodec.INSTANCE)
.addListener(String.class, new PatternMessageListener<String>() {
@Override
public void onMessage(CharSequence pattern, CharSequence channel, String msg) {
System.out.println("pattern = " + pattern + ", channel = " + channel + ", msg = " + msg);
}
})
.subscribe();