首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >专用于setName的飞机康菲

专用于setName的飞机康菲
EN

Stack Overflow用户
提问于 2022-08-01 08:14:47
回答 1查看 51关注 0票数 2

我是新来的..。我的命名空间有多个集合。我试图在我的aerospike dB命名空间中为不同的集合设置不同的TTL。

我不想使用分配给名称空间的默认-ttl,而是要为每个集合设置它。

我的配置

代码语言:javascript
复制
namespace test {
        replication-factor 1
        memory-size 1G
        default-ttl 0 
}

我提到了这个链接https://docs.aerospike.com/server/operations/configure,它声明可以设置特定的记录策略。

代码语言:javascript
复制
namespace <name> {       # Define namespace record policies and storage engine
    storage {}           # Configure persistence or lack of persistence
    set {}               # (Optional) Set specific record policies
}

但我不确定应该使用哪个字段来设置每一组的ttl。比方说,在这个名为- ordername的'test‘命名空间中有两个集合,我希望它们的ttls分别为2小时和6小时。任何帮助都将不胜感激。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-01 15:15:56

aeropsike中的所有记录都属于名称空间,set只是记录上的元数据,就像标记一样。如果客户端没有在创建或更新时指定,则默认-ttl是记录的剩余生命周期。不能在服务器配置中通过设置分配默认-ttl。(还有其他一些特定的配置参数,例如禁用驱逐、已实现的启用索引,默认-ttl不是其中之一。)但是,您可以通过在客户端应用程序中编写它来实现同样的目的。

对于每个集合,您可以使用不同的写入策略,并且在该写入策略中定义用于在该特定集中创建或更新记录的ttl。例如,在Java中,它被称为WritePolicy.expiration,以秒为单位。在您的具体情况下,您可以使用2小时默认的-ttl作为服务器配置-因此orders将作为缺省值,在客户端中,在创建或更新名称集中的记录时,使用WritePolicy.expiration = 3600覆盖服务器默认值为6小时。

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

https://stackoverflow.com/questions/73190707

复制
相关文章

相似问题

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