gpt4 book ai didi

java - 如何使用 Caffeine 缓存配置 write Behind?

转载 作者:行者123 更新时间:2023-11-30 07:25:24 25 4
gpt4 key购买 nike

我想使用咖啡因进行缓存,并且需要有一个后写功能。我想限制写入数据库的次数。 documentation谈到回写缓存,所以它应该是可能的,但没有关于如何配置它的示例。我已经实现了一个 CacheWriter,但我不明白如何将其配置为例如每 10 秒只调用一次写入器(当然如果缓存发生了某些变化)。

最佳答案

CacheWriter 是一个扩展点,文档描述了它可能有意义的用例。这些情况超出了库的范围,如果改为实现,可能会过于僵化。

在正常写入操作(但不是计算)期间以原子方式调用写入器。这确保了给定键观察到更改的连续顺序。对于 write-behind,编写器会将条目添加到异步处理的队列中,例如批量操作。

在实现此功能时,您可能需要考虑,

  • 合并更新(例如收集到 LinkedHashMap 中)
  • 如果超过阈值大小,则在定期后写之前执行批处理
  • 如果操作尚未刷新,则从后写缓冲区加载(这可以避免 View 不一致,例如由于逐出而导致的 View 不一致)
  • 根据外部资源的特征处理重试、速率限制和 strip 化

更新:

Wim Deblauwe 提供了一个不错的 example使用 RxJava。

关于java - 如何使用 Caffeine 缓存配置 write Behind?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36882274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com