如何解决Phantom Key-Spring Data Redis-目标/最佳做法
我正在使用Spring Data Redis,我对幻像密钥的实用性有些困惑。下面是关于这个的一些问题:
-
Spring Data Redis的Phantom Key的目标是什么?
-
我什么时候应该保存?有什么影响?
-
在此主题上是否有最佳实践?
感谢您的反馈。
解决方法
当过期时间设置为正值时,对应的 运行 EXPIRE 命令。除了坚持原来的, 幻像副本保留在 Redis 中并设置为五分钟过期 在原来的之后。这样做是为了启用存储库支持 发布RedisKeyExpiredEvent,保存Spring的过期值 ApplicationEventPublisher 每当密钥过期时,即使 原始值已被删除。收到到期事件 在所有使用 Spring Data Redis 存储库的连接应用程序上。
默认情况下,在初始化时禁用密钥过期监听器 应用。启动模式可以在 @EnableRedisRepositories 或 RedisKeyValueAdapter 启动监听器 与应用程序一起或在第一次插入具有 TTL 的实体时。 有关可能的值,请参阅 EnableKeyspaceEvents。
RedisKeyExpiredEvent 持有过期域对象的副本作为 以及钥匙。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。