Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Tomcat7中缓存请求的结果?_Tomcat_Tomcat7_Jax Rs_Cdi - Fatal编程技术网

如何在Tomcat7中缓存请求的结果?

如何在Tomcat7中缓存请求的结果?,tomcat,tomcat7,jax-rs,cdi,Tomcat,Tomcat7,Jax Rs,Cdi,我的web应用程序中有一些路由,我希望缓存其结果 示例:domain.com/client/1 这个路由在我的数据库中进行一些查询,结果得到一个1~2mb的JSON。我要缓存此路由的结果。但我想在一分钟内完成。如何实现这一点是最好的方法?对于服务器端缓存,您可以查看() 缓存解决方案,如和实现 英菲尼斯潘 例如,使用Infinispan,您可以设置缓存项的寿命: Configuration-Configuration=new-ConfigurationBuilder() .到期日() .寿命(6

我的web应用程序中有一些路由,我希望缓存其结果

示例:
domain.com/client/1


这个路由在我的数据库中进行一些查询,结果得到一个1~2mb的JSON。我要缓存此路由的结果。但我想在一分钟内完成。如何实现这一点是最好的方法?

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

缓存解决方案,如和实现

英菲尼斯潘 例如,使用Infinispan,您可以设置缓存项的寿命:

Configuration-Configuration=new-ConfigurationBuilder()
.到期日()
.寿命(60,时间单位。秒)
.build();
Cache Cache=新的DefaultCacheManager(配置).getCache();
cache.put(“键”、“值”);
缓存。删除(“密钥”);
要使用Infinispan,只需将以下依赖项添加到您的
pom.xml


org.infinispan

番石榴 您还可以看看:

Cache Cache=CacheBuilder.newBuilder()
.expireAfterWrite(60,时间单位。秒)
.build();
cache.put(“键”、“值”);
缓存。无效(“密钥”);
要使用它,请将以下依赖项添加到
pom.xml


番石榴
番石榴
18

将http缓存头设置为60秒。或者创建一个为所有客户端缓存的服务器端缓存。你想要一个服务器端缓存吗?lol来自他们站点的infinispan最小zip是26MB!如果我的项目使用番石榴,我会使用
咖啡因
番石榴缓存
。此外,如果OP将在堆中缓存大量如此巨大的对象,这将严重损害GCP,这是一个很好的观察结果,但问题并不是关于需求的非常具体的问题。