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://scpingwu.com/article/dpdids.html