RedisTemplate序列化配置

package com.gen.config;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
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.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;


/**
 * RedisTemplate序列化配置
 */
@Configuration
public class RedisTemplateConfiguration {
   

    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
   
        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();

        redisTemplate.setConnectionFactory(redisConnectionFactory);
        // 使⽤Jackson2JsonRedisSerializer替换默认序列化
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        // 设置key和value的序列化规则
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        // 设置hashKey和hashValue的序列化规则
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
        // 设置⽀持事务
//        redisTemplate.setEnableTransactionSupport(true);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

相关推荐

  1. RedisTemplate序列配置

    2023-12-05 23:06:05       53 阅读
  2. 自定义redisTemplate实现自定义序列

    2023-12-05 23:06:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 23:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 23:06:05       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 23:06:05       82 阅读
  4. Python语言-面向对象

    2023-12-05 23:06:05       91 阅读

热门阅读

  1. k8s部署的四种方案

    2023-12-05 23:06:05       48 阅读
  2. Redis 如何批量删除指定前缀的Key

    2023-12-05 23:06:05       57 阅读
  3. 前端请求patch接口,只传入已修改字段值的字段

    2023-12-05 23:06:05       50 阅读
  4. PHP 判断给定两个时间是否在同一周,月,年

    2023-12-05 23:06:05       67 阅读
  5. 【Android】WebView 基本使用

    2023-12-05 23:06:05       44 阅读