我想在aerospike中存储用户会话id的映射,它的类型为: id->[session1, session2] . 我希望每个会话ID都有一个特定的TTL .
id->[session1, session2]
我怎么能这样做?我可以制作一个Map并在每个元素上放置一个TTL吗?
在aerospike中,ttl是一个创纪录的属性 . 因此,您无法将其设置为列表/映射中的元素 . 就此而言,它也不能设置在bin级别 .
因此,您可以将两个会话存储为两个不同的记录(通过使用userid和会话ID生成复合键)及其各自的ttl,以便aerospike将自动使记录到期 .
另一种方法是将会话ttl与会话ID一起存储为一对,并从应用程序处理会话到期 . 您可以将所有会话的最大值设置为记录的ttl . 当所有会话到期时,aerospike将使系统的记录到期,从而释放空间 .
1 回答
在aerospike中,ttl是一个创纪录的属性 . 因此,您无法将其设置为列表/映射中的元素 . 就此而言,它也不能设置在bin级别 .
因此,您可以将两个会话存储为两个不同的记录(通过使用userid和会话ID生成复合键)及其各自的ttl,以便aerospike将自动使记录到期 .
另一种方法是将会话ttl与会话ID一起存储为一对,并从应用程序处理会话到期 . 您可以将所有会话的最大值设置为记录的ttl . 当所有会话到期时,aerospike将使系统的记录到期,从而释放空间 .