我正考虑将Caffeine用于卸载到磁盘的值。密钥很小,但值可能需要几兆字节。我想,我可以依靠RemovalListener
来清理混乱。
为了限制磁盘使用量,我可以使用Caffeine.weigher
。但是,maximumWeight
不能与maximumSize
一起使用,因此在我的磁盘填充足够导致驱逐之前,可能会因内存不足(因为使用了许多缓存条目)。
我猜,这是不可能的,但可能,因为平均参赛人数没有下限。
maximumSize
和maximumWeight
互相排斥是否有充分理由?我可以想象两者共享一个插槽,但每个缓存节省8个字节恕我直言不计。