前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redisson编码器修改以及统一设置Key的前缀

Redisson编码器修改以及统一设置Key的前缀

原创
作者头像
用户3293499
发布2024-08-08 13:35:37
3972
发布2024-08-08 13:35:37
举报
文章被收录于专栏:Redis

Redisson集成进入到项目后,默认使用的是

<code>org.redisson.codec.MarshallingCodec</code>编码器,此编码器跟操作系统的编码有关,会导致不同的服务器存储的内容编码不一致,直接报错,因此需要选择其他的编码器.Redisson默认的编码器如下:

参考官方文档 https://github.com/redisson/redisson/wiki/4.-Data-serialization

Codec class name

Description

org.redisson.codec.Kryo5Codec

Kryo 5 binary codec(Android compatible) Default codec

org.redisson.codec.KryoCodec

Kryo 4 binary codec

org.redisson.codec.JsonJacksonCodec

Jackson JSON codec.Stores type information in @class field (Android compatible)

org.redisson.codec.TypedJsonJacksonCodec

Jackson JSON codec which doesn't store type id (@class field) during encoding and doesn't require it for decoding

org.redisson.codec.AvroJacksonCodec

Avro binary json codec

org.redisson.codec.ProtobufCodec

Protobuf codec

org.redisson.codec.SmileJacksonCodec

Smile binary json codec

org.redisson.codec.CborJacksonCodec

CBOR binary json codec

org.redisson.codec.MsgPackJacksonCodec

MsgPack binary json codec

org.redisson.codec.IonJacksonCodec

org.redisson.codec.SerializationCodec

JDK Serialization binary codec (Android compatible)

org.redisson.codec.LZ4Codec

LZ4 compression codec.Uses Kryo5Codec for serialization by default

org.redisson.codec.LZ4CodecV2

LZ4 Apache Commons compression codec.

Uses Kryo5Codec for serialization by default |

| org.redisson.codec.SnappyCodecV2 | Snappy compression codec based on snappy-java project.

Uses Kryo5Codec for serialization by default |

| org.redisson.codec.MarshallingCodec | JBoss Marshalling binary codec

Deprecated! |

| org.redisson.client.codec.StringCodec | String codec |

| org.redisson.client.codec.LongCodec | Long codec |

| org.redisson.client.codec.ByteArrayCodec | Byte array codec |

| org.redisson.codec.CompositeCodec | Allows to mix different codecs as one |

项目中,采用的是redisson-spring-boot-starter集成,也引入了spring-data-redis,参考官方配置https://github.com/redisson/redisson/tree/master/redisson-spring-boot-starter

本项目为了不打破原有的redis配置,并未采用spring.redis.redisson这种配置,而是手动增加了redisson中提供的额外配置接口,实现此接口并注册成为bean后,可以直接设置额外的redisson配置

代码语言:java
复制
import org.redisson.config.Config;
import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer;
import org.springframework.stereotype.Component;

@Component
public class YourRedissonAutoConfigurationCustomizer implements RedissonAutoConfigurationCustomizer {

	@Override
	public void customize(Config cfg) {
		//cfg.setCodec(new org.redisson.codec.FstCodec());
		cfg.setCodec(new org.redisson.codec.SerializationCodec());
	}

}

包括NameMapper也可以通过此方法来配置。原理可以查看<code>RedissonAutoConfiguration</code>实现代码

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis®
腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档