编码类名 编码类型 简要说明
org.redisson.codec.JsonJacksonCodec 文本(JSON) 默认的 Jackson JSON 编码方式,通用性强,可读性好
org.redisson.codec.AvroJacksonCodec 二进制(Avro) Avro 是一种紧凑型的二进制 JSON 编码格式,适合结构化数据
org.redisson.codec.SmileJacksonCodec 二进制(Smile) Smile 是二进制 JSON 格式,效率更高
org.redisson.codec.CborJacksonCodec 二进制(CBOR) CBOR 是另一种更高效的二进制 JSON 编码
org.redisson.codec.MsgPackJacksonCodec 二进制(MsgPack) MsgPack 是紧凑的二进制 JSON 编码方案
org.redisson.codec.IonJacksonCodec 文本/二进制(Ion) Amazon Ion 是一种支持结构化数据的 JSON 兼容格式
org.redisson.codec.KryoCodec 二进制(Kryo) Kryo 是高性能对象序列化框架,适合 Java 对象
org.redisson.codec.SerializationCodec 二进制(JDK) 使用 JDK 自带的序列化方式,兼容性强但效率低
org.redisson.codec.FstCodec 二进制(FST) 比 JDK 序列化性能高 10 倍,且完全兼容
org.redisson.codec.LZ4Codec 压缩(LZ4) 高速压缩型对象序列化编码,适合对性能要求高的场景
org.redisson.codec.SnappyCodec 压缩(Snappy) Google 的压缩算法,速度和压缩率较平衡
org.redisson.client.codec.JsonJacksonMapCodec 映射 JSON 编码 Jackson 的 Map 编码器,适用于不含类型信息或使用 byte[] 时的场景
org.redisson.client.codec.StringCodec 字符串 纯字符串编码,无转换,适合简单场景
org.redisson.client.codec.LongCodec 长整型 纯 long 类型的编码,无转换
org.redisson.client.codec.ByteArrayCodec 字节数组 直接以 byte[] 存储和读取
org.redisson.codec.CompositeCodec 混合 组合多个 Codec 使用的复合编码器

配置

@Bean
public RedissonClient redissonClient(Environment environment) {
    Config config = new Config();

    // 读取配置项
    String redisAddress = environment.getProperty("redisson.host.config");
    String redisPassword = environment.getProperty("redisson.host.password");

    if (redisAddress == null || redisAddress.isBlank()) {
        throw new IllegalArgumentException("Redis address must be configured in 'redisson.host.config'");
    }

    // 配置单节点模式
    config.useSingleServer()
          .setAddress(redisAddress)
          .setPassword(redisPassword)
          .setTimeout(3000)
          .setConnectionPoolSize(10)
          .setConnectionMinimumIdleSize(2);

    // 设置序列化方式:Json(可根据需要切换为其他 Codec)
    config.setCodec(new JsonJacksonCodec());

    return Redisson.create(config);
}