如何在java中为内存缓存创建高效的数据结构?

时间:2016-05-03 08:46:48

标签: java caching data-structures

我想建立一个数据结构,其插入,删除,搜索都是O(1)。 缓存删除缓存中请求最少的值。并且具有给定大小的值。 任何想法?

我想到了树+哈希表或skiplist +哈希表(缓存大小的哈希表)。

谢谢

1 个答案:

答案 0 :(得分:5)

不要自己设计数据结构,而应该查看Google Guava的Caches。它们的实现基于并发的hashmap,它对上面列出的操作具有O(1)复杂度。它们还有许多其他配置选项可用于缓存,例如生存时间和并发级别。这些选项可通过CacheBuilder界面获得。