redisTempLate的序列化改进-创新互联

java中使用redis 的template对数据进行存储,默认使用字节码序列化数据,可读性差,内存消耗较大。如图

创新互联致力于成都网站设计、做网站,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!

为了解决以上问题,提供两种主要方案:

1.自定义template序列化容器,也就是修改redistemplate序列化容器为GenericJackson2JsonRedisSerializer

具体实现就是在spring中加入redisConfig,具体代码如下:

package com.example.config;

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;
@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplateredisTemplate(RedisConnectionFactory connectionFactory){
         //创建redistemplate对象
         RedisTemplateredisTemplate=new RedisTemplate<>();
         //设置连接工厂
        redisTemplate.setConnectionFactory(connectionFactory);
        //创建json序列化工具
        GenericJackson2JsonRedisSerializer serializer=new GenericJackson2JsonRedisSerializer();
        //设置key序列化
        redisTemplate.setKeySerializer(RedisSerializer.string());
        redisTemplate.setHashKeySerializer(RedisSerializer.string());
        //设置value序列化
        redisTemplate.setValueSerializer(serializer);
        redisTemplate.setHashValueSerializer(serializer);


        return redisTemplate;
    }

}

2  使用stringredistemplate类 替代template,它的key和value设置默认都是string类型进行序列化,不需要 我们自定义template序列化容器

@Test
    void test(){
        stringRedisTemplate.opsForValue().set("name:2","虎哥");
        System.out.println(stringRedisTemplate.opsForValue().get("name:2"));
    }

效果如下:

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站名称:redisTempLate的序列化改进-创新互联
文章起源:http://myzitong.com/article/dpdids.html