如何在 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 是最新版本
简而言之:如何在 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 是最新版本