SpringBoot开发之路——集成Redis

2019-10-24  本文已影响0人  我是顾子晨

项目地址:nm-example
今天开发的时候遇到一个需求:
在集群部署服务时,需要处理定时任务不能同一时间执行。
后面实现的思路是这样的:
后之后就顺便在springBoot 上面实现了一下主要代码部分所以在这里记录一下。

这里使用的springBoot 版本为:


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
    </properties>
    
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>2.4.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

以前使用的版本为:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

所以集成的时候出现了一些问题,原因是:

//原版本
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;

//2.xx以后使
import org.springframework.data.redis.connection.RedisConnectionFactory;

创建:redisTemplate


/***
 *
 * @Auther: guzhangwen
 * @BusinessCard https://blog.csdn.net/gu_zhang_w
 * @Date: 2019/10/24
 * @Time: 21:46
 * @version : V1.0
 */
@Configuration
public class MyConfigure {

    /**
     * 操作redis 模板工具类
     * @return
     */
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> goodsRedisTemplate = new RedisTemplate<>();
        goodsRedisTemplate.setConnectionFactory(redisConnectionFactory);
        /**
         * 设置value 类型的序列化实现,如果不设置使用increment 会报错
         */
        GenericToStringSerializer genericToStringSerializer = new GenericToStringSerializer(Object.class);
        goodsRedisTemplate.setValueSerializer(genericToStringSerializer);
        goodsRedisTemplate.setKeySerializer(new StringRedisSerializer());
        goodsRedisTemplate.afterPropertiesSet();
        return goodsRedisTemplate;
    }
}

之后就可以通过注入使用redisTemplate了

上一篇下一篇

猜你喜欢

热点阅读