我们的应用程序需要监听Redis密钥过期事件,并处理密钥中的数据。使用RedisMessageListenerContainer,我可以获得过期事件,但这些事件只包含过期的密钥,而不包含密钥值。因此,我希望将KeyExpirationEventMessageListener与Redis Repository一起使用。
但是我不能配置KeyExpirationEventMessageListener,我想要一些相同的指导。
发布于 2019-06-12 18:17:50
你所需要做的就是为eg注册一个ApplicationListener。RedisKeyExpiredEvent。
@EnableRedisRepositories(enableKeyspaceEvents = EnableKeyspaceEvents.ON_STARTUP)
public class Config {
@Bean
ApplicationListener<RedisKeyExpiredEvent<Person>> eventListener() {
return event -> {
System.out.println(String.format("Received expire event for key=%s with value %s.",
new String(event.getSource()), event.getValue()));
};
}
}您可以找到完整的示例here。
https://stackoverflow.com/questions/56470555
复制相似问题