问题标签 [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 投票
0 回答
2096 浏览

java - 刷新咖啡因/咖啡因中的所有条目

我正在使用 Scala 版本的CaffeineScaffeine。我正在尝试填充缓存,以使其应在到期后重新加载所有值(测试中为 10 秒)。我可能可以使用 Guava Suppliers.memoizeWithExpiration,但我想利用后台异步加载数据的优势。我有以下片段:

我认为这allLoader是出于此目的,但它在缓存构建期间仅调用一次,并且仅填充那些在“虚拟”列表中枚举键的值。

有一个类似的线程建议实现CacheLoader#loadAll,但任何提示都会很好,如何在 Scala 中用 Scaffine 实现这个?

0 投票
1 回答
1826 浏览

spring - Spring Data jpa中的咖啡因缓存键

我只是尝试将项目的结果存储在缓存中,除了密钥之外一切顺利。

SimpleKeyGenerator 通常根据参数保存对象或结果,在我的情况下,我想将对象存储在缓存中,键应该是列表中对象的属性,这是一个示例。

现在我想根据 item.id 将每个对象存储在缓存中,我知道我们可以使用注释的 key 属性,但是如何使用 SpEL 访问每个项目的 Id。不幸的是,创建自定义密钥生成器无济于事,因为所有这些都基于参数、目标类和方法。

有什么建议吗?

0 投票
1 回答
7565 浏览

java - 如何使用 Java 创建 CaffeineCache 对象?

我正在尝试使用咖啡因缓存。如何使用 Java 为 Caffeine 缓存创建对象?我现在在我的项目中没有使用任何 Spring。

0 投票
1 回答
3697 浏览

java - 如何扩展默认 Spring Boot CacheManager 配置

我在我的 Web 应用程序中使用 Spring Boot 缓存支持,并将Caffeine设置为缓存提供程序。

我的项目中有几个缓存,其中大多数都有共同的配置,但是对于两个特定的缓存我需要设置不同的参数。

在我的application.properties我有类似的东西:

这适用于常见的缓存。然后我想用自定义参数扩展这个配置。

这篇文章解释了如何通过@Configuration类配置缓存,但是使用这种方法我完全覆盖了通用配置。

我需要的是这样的:

但是声明一个新CacheManagerbean,“原始”cacheManager不是自动装配的......

有没有办法实现我所需要的?

0 投票
1 回答
886 浏览

java - 咖啡因缓存,获取最旧的元素

由于 concurrentedLinkedHashmap 的作者建议如果使用 java 8 切换到咖啡因。我想知道如何获取缓存中最旧的元素。(在 LinkedHashMap 中,我可以删除迭代器的第一个元素来实现这一点)。

不幸的是,我在咖啡因文档中没有找到任何内容。

0 投票
0 回答
882 浏览

caching - 咖啡因缓存未从内存加载

我们将 Caffeine 用于缓存目的。设置似乎很简单。我们通过以下方式设置缓存

当我们这样做时cache.get(id),它总是触发将从数据库加载的load函数。CacheDataLoader因此,永远不会从内存中获取数据。根据文档,load仅当请求的密钥不在内存中时才应触发。这不正确吗?我们如何配置缓存有什么问题吗?

任何见解都值得赞赏。

谢谢。

0 投票
2 回答
9204 浏览

spring - 多个 Caffeine LoadingCaches 添加到 Spring CaffeineCacheManager

我希望在LoadingCacheSpring 中添加几个不同的CacheManager,但是我不明白如何使用CaffeineCacheManager. 似乎只有一个加载器可以刷新内容,但是我需要为每个缓存单独加载器。是否可以将多个加载缓存添加到 Spring 缓存管理器?如果是这样,那怎么办?

0 投票
1 回答
1946 浏览

spring - Spring Boot 多个缓存管理器并行

我有一个 Spring Boot Web 应用程序并使用带有 redis 存储的 spring 会话。Web 请求有时需要缓存它们的响应(以避免不必要的数据库旅行),我计划使用 Caffeine。
然而,似乎 Redis 接管了(只要我包含 gradle 依赖项)作为缓存实现,因为我为咖啡因设置的所有 TTL 都被忽略了。

在 Spring Boot 应用程序中使用超过 1 个缓存提供程序是否可能/值得推荐?我可以尝试将 Redis 用于所有缓存,只是担心它会影响 Spring Boot 附带的会话实现(我没有配置任何东西,只是使用了@EnableRedisHttpSession)。

我很感激对此的任何建议。

0 投票
1 回答
140 浏览

java - 如何在 Hazelcast 中实现自定义时钟以进行单元测试?

在使用自定义到期持续时间测试我的一些代码时,我需要在 Hazelcast 实例中设置时钟时间,这与我在咖啡因缓存中使用自定义 Ticker 设置时间的方式非常相似。

我发现这在任何地方都没有记录,也没有任何问题。

0 投票
1 回答
1201 浏览

java - 在 @RestController 上使用 Spring Caching 注解

  • 我可以在 RestController 中的方法之上使用 Spring 缓存注释吗?
  • 由于弹簧缓存是服务级别缓存,但我有一个案例没有服务,所以我在控制器中使用缓存。
  • 在控制器中使用缓存是否好?
  • 我使用咖啡因作为我的底层缓存。
  • 我认为在控制器级别使用这种缓存可能会发生任何多线程问题。