问题标签 [caffeine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2566 浏览

java-8 - 如何在 Project Reactor 中缓存项目并避免缓存踩踏?

如何执行非阻塞的获取/计算查找并避免缓存踩踏。

这是一个不会踩踏,而是阻塞的示例。

这是一个不会阻塞但可以踩踏的例子。

有没有不会踩踏或阻塞的方法?在自己的调度程序上订阅阻塞调用是否有意义?

0 投票
2 回答
5714 浏览

spring - Spring中特定咖啡因缓存的配置

我们需要实现几种具有不同缓存时间的方法。每种方法都带有注释,@Cacheable我们当前的解决方案包括多个CacheManager设置在CachingConfigurerSupport.

注释然后@Cacheable包含 cacheManager:@Cacheable(cacheNames = "someCache", cacheManager = "anotherCache")

基本上这很好,但如果你忘记了cacheManager参数等,也会出错。

所以我目前试图找到一个更好的解决方案,但据我所知,目前还没有普遍接受的方法。

CaffeineCacheManager恕我直言,与 eg 相比的主要优点SimpleCacheManager是可以定义基本配置,然后延迟初始化其他缓存。但是,如果您能够设置永远不会重新初始化的附加缓存,那不是很好吗?

这些缓存必须优先使用并在CachingConfigurerSupport.

也许我遗漏了一些东西,但这不应该解决已经在不同形式的几个线程中讨论过的问题吗?

0 投票
0 回答
538 浏览

scala - Akka actor 无阻塞遍历大数据集

我有一个 akka 演员,它从 hazelcast 中读取并构建了一个Map[id:String, Set[val:String]]. 现在我想遍历这张地图并将以下元组((id, val))(true)放入 Scala 咖啡因缓存(另一个演员)。我怎样才能在不阻塞的情况下实现这一点?地图巨大(数百万条记录)

0 投票
3 回答
4421 浏览

spring - 将 @ConfigurationProperties 绑定到用于创建 bean 的构建器

我正在创建多个咖啡因缓存,例如:

现在我想使用类似的东西@ConfigurationProperties(prefix = "cache.customer")来设置构建器配置选项。

存在应用程序属性的cache.customer.maximum-size: 1000位置。

我可以做一些聪明的事情来将其映射@ConfigurationProperties到咖啡因生成器吗?

0 投票
0 回答
132 浏览

caching - 测试 Caffiene Cache 的示例

我正在寻找测试我已实现的几个 Caffiene 缓存的示例(一个具有缓存范围的定时到期,另一个使用 Expiry 接口对每个条目都有一个定时到期变量)。试图在网上搜索好的例子,但没有找到任何有据可查的例子。

0 投票
1 回答
1197 浏览

java - 咖啡因的构建器函数参数的目的?

刚接触咖啡因,我显然错过了一些超级基本的东西。我看到的所有基本用法示例如下所示:

我正在努力解决的是该fetchFizzbuzzes()功能所扮演的角色:

  • 它是否用于填充初始缓存?
  • 如果缓存中不存在密钥,它是否用作某种后备?
  • 还有什么?
0 投票
1 回答
1737 浏览

java - 如何在春季将整个表添加到缓存中

我有一张很小的桌子,不经常更新。我想将此添加到缓存中,以便它每天更新。我正在使用弹簧和咖啡因来实现这一点。我能够加载启动但不知道如何刷新它。请帮忙。

我可以简单地从存储库中获取所有记录并使用 cache.put() 将其放入缓存中。但是我如何在指定的时间间隔后再次从表中刷新它。

0 投票
1 回答
5151 浏览

java - 咖啡因缓存 - 单个值的许多键

我有带有键-> 值映射的咖啡因缓存。Key接口的实现有多种不同的equals方法。为了从基于 的缓存中删除值someOtherVal,我不得不使用cache.asMap().keySet().removeIf(comp::isSame)超级慢的代码。

对于这种缓存中单值映射的许多键,还有其他解决方案吗?我想到的一件事是有 2 个 Cache 实例,一个带有Cache<Key, String>,另一个带有Cache<someOtherVal, Key>,每当我想删除一个值时,我都会使用另一个缓存来定位 Key 。

那么唯一的问题是如何使这两个缓存保持同步?是否已经有解决方案?

在我的机器上运行此代码的结果:

哪里能看出这么大的区别……

0 投票
3 回答
2675 浏览

spring-cache - Spring缓存动态设置过期时间 - 咖啡因

我使用身份验证 API 来获取令牌并使用其他服务。此 API 返回令牌和过期时间。可以获取它返回的过期时间并使用这些值设置 expire_after_write 吗?目前这个属性在 application.properties 中,但恐怕有一天服务提供者会更改 expire_time 并且我们会因为令牌过期而出现一些错误

0 投票
1 回答
4451 浏览

spring-boot - refreshAfterWrite 需要 Spring Boot 咖啡因应用程序中的 LoadingCache

我正在尝试编写一个应用程序来缓存每隔几秒钟重新加载一次。我决定使用 spring boot Caffeine 并获得了一个示例应用程序。但是当我指定 refreshAfterWrite 属性时,它会引发异常:refreshAfterWrite requires a LoadingCache

为了解决这个问题,我提供了加载缓存 Bean,但缓存完全停止工作:

我们有一些简单的方法让重新加载工作吗?