本文同步Java知音社区,专注于Java
作者:小哥他三叔
http://juejin.im/post/5d5e10d2e51d4561b416d487
Redis的使用越来越广泛,当遇见性能瓶颈时,我们应该如何去解决呢?
Redis序列化方案
Spring Boot Redis
Spring Boot Data Redis给我们提供了即插即用的体验,大部分默认配置已经满足了我们的需求,而其中序列化方案选择的是原生的JdkSerializationRedisSerializer
RedisTemplate.java
if (defaultSerializer == null) {
defaultSerializer = new JdkSerializationRedisSerializer(
classLoader != null ? classLoader : this.getClass().getClassLoader());
}
当然,我们也可以选择Spring Boot Data Redis的其他序列化方案进行配置。
RedisSerializer的实现
在此基础上,我们可以自定义我们自己的序列化方案。
自定义JSON序列化方案
FastJsonRedisSerializer.java
public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
private FastJsonConfig fastJsonConfig = new FastJsonConfig();
private Class<T> type;
public FastJsonRedisSerializer(Class<T> type) {
this.type = type;
}
public FastJsonConfig getFastJsonConfig() {
return fastJsonConfig;
}
public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
this.fastJsonConfig =