diff --git a/pom.xml b/pom.xml index a979a41..4bd0205 100644 --- a/pom.xml +++ b/pom.xml @@ -67,6 +67,27 @@ mysql-connector-j runtime + + + org.springframework.boot + spring-boot-starter-data-redis + + + lettuce-core + io.lettuce + + + + + + redis.clients + jedis + + + + org.springframework.session + spring-session-data-redis + diff --git a/src/main/java/cn/hezhaohui/thumb/config/RedisConfig.java b/src/main/java/cn/hezhaohui/thumb/config/RedisConfig.java new file mode 100644 index 0000000..c94bc10 --- /dev/null +++ b/src/main/java/cn/hezhaohui/thumb/config/RedisConfig.java @@ -0,0 +1,42 @@ +package cn.hezhaohui.thumb.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +public class RedisConfig { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(connectionFactory); + + // 对象 序列化 + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL); + Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer<>(objectMapper, Object.class); + + // Key + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(serializer); + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(serializer); + + template.afterPropertiesSet(); + return template; + + } + + @Bean + public RedisSerializer springSessionDefaultRedisSerializer() { + return new GenericJackson2JsonRedisSerializer(); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7c907e1..d0f22e4 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -9,6 +9,13 @@ spring: url: jdbc:mysql://47.121.181.112:3306/thumb_up username: root password: dn293830 + data: + redis: + database: 0 + host: 47.121.181.112 + port: 6379 + password: dn293830 + connect-timeout: 5000 mybatis-plus: