是否存在行为类似于"缓冲字典的数据结构"?

时间:2018-01-01 18:02:50

标签: python data-structures

我需要一个数据结构,其行为大致类似于字典(可以按键访问/删除任何元素),但也具有以下属性:

  • 最多可以容纳N个元素(实际上,N是数百,数千)。
  • 该结构包含每次访问时获得的最后一个操作号(获取/设置/删除)。
  • 跟踪元素的最后访问权限 - 无论何时添加或访问项目,操作编号都会与结构中的项目一起保存。
  • 如果要添加新项目并且结构保持最大元素数量,则删除具有最低操作编号的元素(很久以前最后一次访问,在所有其他元素'最后访问之前)而是插入新元素。

我使用这样的结构来维护对象的缓存 - 检索每个元素非常耗时,并且非常频繁地访问有限数量的元素。如果该元素不再经常使用,它最终将落在此缓存的底部,并在下一个插入此结构中时替换。

我当前的实现(在Python 3中)是一个包含键的字典 - >最后一个访问号码的元组和对象本身。它运作良好,但我几乎可以肯定我在某个地方看到了一个非常相似的结构 - 有什么行为就像这样的缓存吗?

0 个答案:

没有答案