我正在构建一个应用程序,我需要帮助找到一个数据结构来执行我想要的操作。存储可按id排序的对象并按时间戳排序
背景
即得到大约每秒100个事件。这些事件有3个部分,一个String会话uuid,一个很长的时间戳(Unix时间),可能还有一个json字符串。会话uuid用于将来自同一会话的事件绑定在一起。我们收到的第一个事件给定了会话的TTL。
要求
我试图来存储这些会话这是本质上,整理它们通过他们的活动时间排序的活动的集合。我同时遇到问题的两个标准是:
- 我需要能够根据其UUID快速查找会话。
- 我需要能够根据TTL戳记来确定哪些会话已过期,这是会话的一个属性。
我在想什么的是一个地图,我可以通过按键关闭UUID的,但值都保存在一个有序。我可以使EventSession对象的时间相当,但似乎SortedMap只对键进行排序。我不确定是否存在我所要求的基本问题,但我愿意接受。
谢谢你提出了一个我没有考虑过的好建议。 – 2011-02-25 03:56:07