SpringBoot-Redis
spring boot 整合 redis, 实现 redis 的基本存储以及订阅模式
源码位置: https://github.com/DongCarzy/springboot-redis
流程
- clone code
git clone https://github.com/DongCarzy/springboot-redis.git
- 安装 Redis
- 启动 项目
说明文档
- spring-boot 2.0.4.RELEASE
- spring-boot-starter-data-redis
- redis.clients
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
自定义序列化方案
springBoot的redisTemplate
默认采用的JDK的序列化 JdkSerializationRedisSerializer
, 可在源码RedisTemplate.class
中看到 defaultSerializer
的默认是正是 JdkSerializationRedisSerializer
,占用空间较大,且识别度不好.因此我们自定义. 这里采用的是 GenericJackson2JsonRedisSerializer
可以认为它是jackson
的升级版本,在序列化的过程种会将Object的类型一起存储起来.
默认 RedisTemplate
声明在 RedisAutoConfiguration.class
这个类中
@Configuration
@ConditionalOnClass({RedisOperations.class})
@EnableConfigurationProperties({RedisProperties.class})
@Import({LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class})
public class RedisAutoConfiguration {
public