pom
<!-- spring boot redis 缓存引入-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- lecttuce 缓存连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
yml
spring:
profiles:
active: dev
application:
name: service-cms
cloud:
nacos:
discovery:
server-addr: localhost:8848
sentinel:
transport:
port: 8081
dashboard: localhost:8080
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/grain_cms?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
username: root
password: 1234
jackson:
date-format: yyyy-MM-dd HH:mm:SS
time-zone: GMT+8
redis:
host: 192.168.101.12 # redis服务器的地址
port: 6379 # redis服务的端口
database: 0 # redis 默认链接第0个数据库,一共有16个数据库
# password: 1234
lettuce: # redis链接池
pool:
max-active: 20 #最大连接数,负值表示没有限制,默认为8
max-wait: -1 #最大阻塞等待时间,负值表示没有限制,默认为-1
max-idle: 8 #最大空闲连接,默认为8
min-idle: 0 #最小空闲连接,默认为0
timeout: 5000
config
package com.ezerbel.grain.service.base.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.io.Serializable;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Serializable> redisTemplate(LettuceConnectionFactory connectionFactory){
RedisTemplate<String,Serializable> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer()); // key 设置键的序列化方式 , 替换原来JDK中默认的序列化方式
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); // value 设置值的序列化方式
return redisTemplate;
}
}
controller
@PostMapping("save-test")
public R saveAd(@RequestBody Ad ad){
redisTemplate.opsForValue().set("ad",ad);
return R.ok();
}
before

after
