我正在構建一個應用程序,我需要幫助找到一個數據結構來執行我想要的操作。存儲可按id排序的對象並按時間戳排序
背景
即得到大約每秒100個事件。這些事件有3個部分,一個String會話uuid,一個很長的時間戳(Unix時間),可能還有一個json字符串。會話uuid用於將來自同一會話的事件綁定在一起。我們收到的第一個事件給定了會話的TTL。
要求
我試圖來存儲這些會話這是本質上,整理它們通過他們的活動時間排序的活動的集合。我同時遇到問題的兩個標準是:
- 我需要能夠根據其UUID快速查找會話。
- 我需要能夠根據TTL戳記來確定哪些會話已過期,這是會話的一個屬性。
我在想什麼的是一個地圖,我可以通過按鍵關閉UUID的,但值都保存在一個有序。我可以使EventSession對象的時間相當,但似乎SortedMap只對鍵進行排序。我不確定是否存在我所要求的基本問題,但我願意接受。
謝謝你提出了一個我沒有考慮過的好建議。 – 2011-02-25 03:56:07