首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在领事KV商店的钥匙上设置TTL (过期)

如何在领事KV商店的钥匙上设置TTL (过期)
EN

Stack Overflow用户
提问于 2018-03-26 22:34:55
回答 1查看 4K关注 0票数 4

实际上,我正在使用领事和一个健康检查服务来存储来自某些远程主机的健康检查错误消息(key: hostname => value: message)。但是,如果键值对已经超过24小时没有更新,我希望删除它,例如,如果远程主机被从健康检查轮转中完全删除。

根据领事API文档,您可以在创建session时在其上设置TTL。看来,当您的session和会话到期时,您可以使用acquire参数将这个创建/更新密钥绑定到一个特定的键,并且当会话到期时,它也会删除该键。请注意,acquire还锁定了键,这意味着在以后用release参数更新它之前,其他任何人都不能设置该值,但这会删除会话->键关联(最终删除键上的TTL )。

还不清楚如何在存储中为密钥实现一个简单的TTL。这似乎是可行的,但我不知道如何保持与键相关的会话:

  1. 使用TTL=86400s创建会话并获取sessionID
  2. acquire=sessionID创建键值对
  3. ??release=sessionID ??
  4. 每次更新键值对时,刷新会话TTL。

并对插入的每个新键值对重复上述操作。

有人能详细说明如何使用会话从领事中删除过期的密钥值对吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-10 12:41:26

在创建会话时,可以指定delete类型的行为,TTL可以设置为24小时(检查https://www.consul.io/api/session.html#ttl)。因此,如果没有在指定的时间内更新会话,则将自动删除密钥(https://www.consul.io/docs/internals/sessions.html)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49501699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档