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