【发布时间】:2019-02-10 07:17:46
【问题描述】:
我正在用 Java 编写一个用于处理文件的多线程 Rabbit MQ 客户端。但是,我确实需要一个快速且大型的缓存池,主要是地图的只读列表。数据将根据请求从 SQL 服务器中提取,但我还希望缓存内置 LRU 算法。
我找到了一个半功能的网站http://cacheonix.org,它似乎可以提供我想要的东西,但是下载页面无法正常工作。
你有什么提示吗?
我认为 LinkedHashMap 与 LRU 缓存机制/包装器相结合会满足我的大部分用途,但我首先要问的是。 https://docs.oracle.com/javase/6/docs/api/java/util/LinkedHashMap.html
【问题讨论】:
-
我没有亲自使用过,但听起来Google Guava caching utilities 可能有用。
-
Caffeine 是我最新的化身,此前我曾与人合着 Guava's Cache(参见@Finn 的链接)和ConcurrentLinkedHashMap。其中任何一个都应该易于使用。
-
@BenManes 谢谢,看起来很有希望!
标签: java caching concurrency rabbitmq