gpt4 book ai didi

java - Spring Redis Cache中如何序列化多种类型?

转载 作者:搜寻专家 更新时间:2023-11-01 00:56:05 25 4
gpt4 key购买 nike

RedisCacheManager 只接受一个 RedisTemplate,这意味着它只能序列化一种类型的对象。

由于我有多种类型的对象需要序列化,我该怎么做呢?

最佳答案

如果您的 CacheManager 是由 Java 代码创建的。应该使用new RedisTemplate()来支持多种类型。
默认情况下,org.springframework.data.redis.core.RedisTemplate 使用JdkSerializationRedisSerializer 将 Java 对象转换为字节,然后将它们存储在 Redis 服务器中。它可以支持Java类实现java.io.Serializable接口(interface)。

您还可以指定其他Serializers ,例如:

XStreamMarshaller xstream=new XStreamMarshaller();//org.springframework.data.redis.serializer.XStreamMarshaller
xstream.afterPropertiesSet();
//set serializer for all Redis type - convert object to XML string
redisTemplate.setDefaultSerializer(new OxmSerializer(xstream, xstream));
//set serializer for Redis key type
//redisTemplate.setKeySerializer(new StringRedisSerializer());
//set serializer for Redis value type
//redisTemplate.setValueSerializer(new OxmSerializer(xstream, xstream));

关于java - Spring Redis Cache中如何序列化多种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com