как настроить прослушиватель событий с истекшим сроком действия ключа в redisson reactive api (проект spring boot)

#redis #spring-webflux #reddison

Вопрос:

я использую веб-поток spring boot с redisson. Я хочу включить все ключевые события с истекшим сроком действия в своем приложении. я попробовал сделать это таким образом. но это не работает.

 this.client.getTopic("__keyevent@*__:expired", StringCodec.INSTANCE)
        .addListener(String.class, new MessageListener<String>() {
            @Override
            public void onMessage(CharSequence channel, String msg) {
                //
            }
        });
 

Я хочу, чтобы вы помогли решить эту проблему.

Комментарии:

1. 1-я проблема в том, что вы не подписались на слушателя

2. да. что дальше?

Ответ №1:

1-я проблема в том, что вы не подписались на слушателя. и 2 — й-это то, что вы не можете использовать getTopic для события pub-sub, если используете шаблон в redisson. вы должны использовать 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();