gpt4 book ai didi

tomcat - 如何在 Tomcat 7 中缓存请求结果?

转载 作者:行者123 更新时间:2023-11-28 22:41:21 25 4
gpt4 key购买 nike

我的 Web 应用程序中有一些路由需要缓存其结果。

示例:domain.com/client/1

此路由在我的数据库中进行一些查询,生成 1~2mb 的 JSON。我想缓存这条路线的结果。但我也想在一分钟内过期。如何最好地做到这一点?

最佳答案

对于服务器端缓存,您可以查看 JCACHE (JSR 107)。

缓存解决方案,例如 EhcacheInfinispan实现 JSR 107 .

无穷无尽

例如,使用 Infinispan,您可以为缓存条目设置生命周期:

Configuration configuration = new ConfigurationBuilder()
.expiration()
.lifespan(60, TimeUnit.SECONDS)
.build();

Cache<Object, Object> cache = new DefaultCacheManager(configuration).getCache();
cache.put("key", "value");
cache.remove("key");

要使用 Infinispan,只需在 pom.xml 中添加以下依赖项:

<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-embedded</artifactId>
<version>8.0.1.Final</version>
</dependency>

如果您不使用 Maven,请从 Infinispan download page 下载它.

Guava

您还可以查看 cache API provided by Guava :

Cache<Object, Object> cache = CacheBuilder.newBuilder()
.expireAfterWrite(60, TimeUnit.SECONDS)
.build();

cache.put("key", "value");
cache.invalidate("key");

要使用它,请将以下依赖项添加到您的 pom.xml:

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>

关于tomcat - 如何在 Tomcat 7 中缓存请求结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631758/

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