我正在尝试使用spring数据redis设置Key过期事件处理程序,但无法使其正常工作。我做了一些研究,但没有达到预期的结果。不知道我在想什么。我想在redis缓存上的密钥过期时记录一条消息。
@Configuration
@EnableRedisRepositories
public class RedisConfig {
@Bean
StringRedisTemplate stringRedisTemplate(){
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate(jedisConnectionFactory());
return stringRedisTemplate;
}
@Bean
RedisMessageListenerContainer redisContainer() {
RedisMessageListenerContainer container
= new RedisMessageListenerContainer();
container.setConnectionFactory(jedisConnectionFactory());
container.addMessageListener(messageListener(), topic());
return container;
}
@Bean
MessageListenerAdapter messageListener() {
return new MessageListenerAdapter(new RedisMessageSubscriber());
}
@Bean
MessagePublisher redisPublisher() {
return new RedisMessagePublisher();
}
@Bean
ChannelTopic topic() {
return new ChannelTopic("messageQueue");
}
}
public interface MessagePublisher {
void publish(String message);
}
public class RedisMessagePublisher implements MessagePublisher {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private ChannelTopic …Run Code Online (Sandbox Code Playgroud)