我需要一个持久缓存,它最多可容纳数百万个 6 个字符的 base36 字符串并具有以下行为: - 当客户端从缓存中检索 N 个字符串时,它们按 base36 值的顺序检索,例如 AAAAAA 然后 AAAAAB 等。 - 当字符串检索它们也会从缓存中删除,因此其他客户端将不会收到相同的字符串。
我目前使用 MapDB 作为我的持久缓存(我会使用 EHCache,但它需要持久存储许可证)。
MapDB 给了我一个 Map ,我可以从中放置/获取元素,它处理持久化到磁盘。
我注意到 Java 的ConcurrentSkipListMap
类会对我的问题有所帮助,因为它提供了排序,而且我还可以调用该pollFirstEntry
方法来按顺序检索/删除元素。
我不确定如何将它与 MapDB 一起使用。有没有人有任何建议可以帮助我实现我所概述的行为?
谢谢