jetcache icon indicating copy to clipboard operation
jetcache copied to clipboard

序列化无法识别泛型

Open mzy2023 opened this issue 2 years ago • 3 comments

image 如图序列化无法识别List中的泛型,只能拿到结果后再次序列化。 有没有更好的方式解决这个问题

mzy2023 avatar Jan 06 '24 04:01 mzy2023

方法就是不要用json做序列化

areyouok avatar Jan 06 '24 08:01 areyouok

方法就是不要用json做序列化

有具体方案吗?

mzy2023 avatar Jan 09 '24 07:01 mzy2023

方法就是不要用json做序列化

有具体方案吗?

1.使用Jackson2序列化时会记录类型信息, 但是报文会很大. 2. 编程式的方式,你可以手动创建Cache对象,并且自己指定好对应的序列化和反序列化编解码,不使用统一的json序列化,因为无法顾及到所有的情况,应该由编写的人自己来解决

可参考:

QuickConfig systemConfigCacheConfig = QuickConfig .newBuilder("test", "system:config:") .expire(Duration.ofSeconds(86410)) .cacheType(CacheType.REMOTE) // 自己序列化 .valueEncoder(JacksonUtils::objectToByteArray) // 自己反序列化 .valueDecoder((bytes)-> JacksonUtils.byteArrayToObject(bytes, new TypeReference<CacheValueHolder<SystemConfigDTO>>() {})) .build(); Cache<String, SystemConfigDTO> cache = cacheManager.getOrCreateCache(systemConfigCacheConfig);

dantefung avatar Mar 04 '24 03:03 dantefung