自动成团功能总结

2019-07-15  本文已影响0人  张起荣

自动成团功能总结

解决方案

1.使用Redis key过期事件实现过期自动成团

2.使用Quartz定时任务

方案一.使用Redis key过期事件实现过期自动成团

使用Spring Boot整合spring-data-redis整合实现

实现思路

代码实现

pom.xml引入依赖

<!--redis相关依赖-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.8.1</version>
</dependency>
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
    <version>1.7.2.RELEASE</version>
</dependency>

配置类

/**
 * 配置Redis监听容器
 * @author zqr
 * @date 2019-07-15
 */
@Configuration
public class RedisConfig{
    
    @Bean
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        return container;
    }
}

key过期监听器

/**
 * 自动拼团redis key过期通知
 *
 * @author zqr
 * @date 2019/7/11 20:28
 */
@Component
public class AutoGroupBuyRedisKeyExpireListener extends KeyExpirationEventMessageListener {

    /**
     * 默认构造方法,将监听器注入容器
     *
     * @param redisMessageListenerContainer 容器
     */
    public AutoGroupBuyRedisKeyExpireListener(RedisMessageListenerContainer redisMessageListenerContainer) {
        super(redisMessageListenerContainer);
    }

    /**
     * 针对redis数据失效事件,进行数据处理
     *
     * @param message
     * @param pattern
     */
    @Override
    public void onMessage(Message message, byte[] pattern) {
        System.out.println("-----------------------------------------------------------------------");
        System.out.println(message.toString());
    }
}

方案二.使用Quartz实现自动成团功能

实现思路

上一篇下一篇

猜你喜欢

热点阅读