如何在 Spring Redis 模板中禁用 z 操作

How to disable z-operations in Spring Redis Template

简而言之:如何在 spring.data.redis 版本 1.7.1.RELEASE 中禁用 redis Z 命令?

我们是 运行 springframework.data.redis.RedisCache 的早期版本 该版本使用 redis z-operations 来维护键名称的索引,以供在 cache.clear() 等帮派操作中使用

我们发现这些 Z 操作的成本非常高,因此我们重新编写了 RedisCache(它最初被标记为受保护!:( ) 以排除所有 z 操作。 这很好..但我注意到该项目已经取得了长足的进步,肯定有一种方法可以使用配置来防止这些昂贵的操作吗?

简而言之

你做不到简单的方法。

说明

禁用排序集命令的唯一方法是重命名 Redis 上的命令或提供自己的 RedisTemplate 实现。

RedisCache 使用排序集来隔离缓存数据并在缓存条目级别实现过期。如果您使用 Spring 引导,提供自己的 CacheManager bean 就足够了,因此缓存自动配置不会启动。

我们总是感谢有关如何改进的反馈。如果您想贡献或讨论改进,请随时在 our Jira 中创建票证。

顺便说一句,Spring Data Redis 1.7 是最新版本