我有一个使用 Redis 进行缓存的 Java 网络服务。最初我创建了一个直接访问 Redisson 客户端的 CacheService 以处理缓存。我最近重构了缓存处理以使用 Spring Cache 抽象,这使代码更清晰并鼓励模块化设计。不幸的是,Spring 使用 Jackson 来序列化/反序列化缓存对象,由于类型信息存储在 JSON 中,导致缓存值比以前大得多。这导致从缓存读取的响应时间增加到 Not Acceptable 程度。有什么办法可以自定义Spring序列化和反序列化缓存内容的方式吗?我想用我自己的逻辑替换它,但在文档中看不到任何内容。如果可能的话,我宁愿不必推出自己的 AspectJ 缓存实现。
最佳答案
RedisCacheManager
需要一个 RedisOperations
并且您可以在那里配置序列化的工作方式。您可以调整键和值的序列化,但我怀疑键应该使用 StringRedisSerializer
。
关于java - 是否可以自定义 Spring Cache 抽象使用的序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37753927/