簡體   English   中英

我應該使用什么數據結構來緩存有序實體

[英]What data structure should i use for caching ordered entities

我需要在緩存中存儲一​​些項目,例如聊天消息。 我還需要將這些項目切成鍵值范圍。 例如(返回聊天消息),最常見的緩存操作是從開始日期到結束日期獲取聊天消息。

我應該考慮什么數據結構? 我在考慮簡單數組,但它適用於O(n)。 是否有任何可以更快工作的數據結構?

您可以使用像Red-Black Tree這樣的自平衡二進制搜索樹,該樹以有序的方式存儲條目,並在平均和最壞情況下都以O(logn)提供插入,刪除,搜索。

因此,當您需要一個日期間隔之間的聊天消息時,可以在RB樹中搜索已排序的數據范圍。

使用關聯集,將數據存儲在array<data> ,但使用哈希表存儲pair<data , arrayIndex> 這樣,您可以使用o(1)搜索,插入和刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM