小编tin*_*ard的帖子

过期的按键触发事件-Spring数据Redis

我正在尝试使用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)

spring redis spring-data spring-data-redis

5
推荐指数
1
解决办法
2217
查看次数

标签 统计

redis ×1

spring ×1

spring-data ×1

spring-data-redis ×1