648540858
2023-03-20 039fbf7e243d4bf0f46b44e7dae2a5d36e978056
src/main/java/com/genersoft/iot/vmp/conf/redis/RedisConfig.java
@@ -1,20 +1,20 @@
package com.genersoft.iot.vmp.conf.redis;
import com.alibaba.fastjson.parser.ParserConfig;
import com.genersoft.iot.vmp.common.VideoManagerConstants;
import com.genersoft.iot.vmp.service.redisMsg.*;
import com.genersoft.iot.vmp.utils.redis.FastJsonRedisSerializer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import com.genersoft.iot.vmp.utils.redis.FastJsonRedisSerializer;
/**
@@ -24,6 +24,7 @@
 * 
 */
@Configuration
@Order(value=1)
public class RedisConfig extends CachingConfigurerSupport {
   @Autowired
@@ -49,18 +50,20 @@
   @Bean
   public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
      LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redisConnectionFactory;
      lettuceConnectionFactory.afterPropertiesSet();
      RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
      // 使用fastJson序列化
      FastJsonRedisSerializer fastJsonRedisSerializer = new FastJsonRedisSerializer(Object.class);
      // value值的序列化采用fastJsonRedisSerializer
      redisTemplate.setValueSerializer(fastJsonRedisSerializer);
      redisTemplate.setHashValueSerializer(fastJsonRedisSerializer);
      // 全局开启AutoType,不建议使用
       ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
      // key的序列化采用StringRedisSerializer
      redisTemplate.setKeySerializer(new StringRedisSerializer());
      redisTemplate.setHashKeySerializer(new StringRedisSerializer());
      redisTemplate.setConnectionFactory(redisConnectionFactory);
      redisTemplate.setConnectionFactory(lettuceConnectionFactory);
      return redisTemplate;
   }