【西瓜皮】Spring Boot 2.x 整合 Redis(一)
Spring Boot 2 整合 Redis(一)
Spring Boot 2.0.3简单整合Redis
IDEA Spring Initialzr 创建工程:选上Redis依赖项
Maven依赖
// Spring Boot 1.5版本的依赖下artifactId是没有data的 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
application.yml文件的配置,其中Jedis配置有默认值,Spring Boot 2后默认的连接池是lettuce,后面会讲。
server: port: 6868 spring: redis: database: 0 # 0-15db host: 127.0.0.1 port: 6379 password: timeout: 1200 # Jedis的配置,可以不配置,有默认值(RedisProperties类中有指定默认值) jedis: pool: max-active: 8 max-idle: 8 min-idle: 0 max-wait: -1
配置完可以直接注入使用
// 测试StringRedisTemplate @GetMapping("/testStringRedisTemplate") public String testStringRedisTemplate() { String now = LocalDateTime.now().toString(); stringRedisTemplate.opsForValue().set("key_" + now, now); return now; }
结果如下:
在这里,实际上很少直接使用RedisTemplate<Object,Object> redisTemplate,一般是写Redis的配置类自定义RedisTemplate,接下来就实现自定义customRedisTemplate。
customRedisTemplate
@Configuration public class RedisConfig { /** * 自定义RedisTemplate * @param connectionFactory * @return */ @Bean public RedisTemplate<String, Student> customRedisTemplate( RedisConnectionFactory connectionFactory) { RedisTemplate<String, Student> rt = new RedisTemplate<>(); // 实例化Jackson的序列化器 Jackson2JsonRedisSerializer<Student> serializer = new Jackson2JsonRedisSerializer<Student>(Student.class); // 设置value值的序列化器为serializer rt.setValueSerializer(serializer); rt.setHashValueSerializer(serializer); // 设置key键的序列化器为serializer rt.setKeySerializer(new StringRedisSerializer()); rt.setHashKeySerializer(new StringRedisSerializer()); // 设置redis连接工厂(线程安全的) rt.setConnectionFactory(connectionFactory); return rt; } }
测试自定义RedisTemplate的用例
@PostMapping("/add") public String add(@RequestBody Student student) { System.out.println(student); customRedisTemplate.opsForValue().set("key_" + student.getId(), student); return "add success"; }
启动Spring Boot并通过Restlet测试:
结果如下:
到此,简单的整合Redis已经成功。接下来是cache注解。
相关推荐
王道革 2020-11-25
wangdonghello 2020-11-03
Langeldep 2020-11-16
chenhualong0 2020-11-16
聚合室 2020-11-16
koushr 2020-11-12
MRFENGG 2020-11-11
guoyanga 2020-11-10
fackyou00 2020-11-10
Orangesss 2020-11-03
dongCSDN 2020-10-31
rainandtear 2020-10-30
Quietboy 2020-10-30
liuyulong 2020-10-29
fansili 2020-10-29
温攀峰 2020-10-23
jackbon 2020-10-19
kaixinfelix 2020-10-04