缓存 REST API (JAX-RS)

Caching REST API (JAX-RS)

我想提高我的 REST API 的性能,我一直在阅读有关 HTTP 缓存的内容,但我认为我不理解这个概念。如果我有这个资源:

    @GET
    @Path("/test")
    @Produces(MediaType.APPLICATION_JSON)
    public Response test() {
        Car car = new Car();
        car.setName("Just a car");

        CacheControl cc = new CacheControl();
        cc.setMaxAge(86400);

        Response.ResponseBuilder builder = Response.ok(car);
        builder.cacheControl(cc);
        return builder.build();
    }

具体是什么意思?这是否意味着在达到最大年龄之前不会再次执行请愿书?或者我必须在客户端手动处理 Cache-Control header 吗?我很困惑,帮我理解一下。

谢谢。

提高 REST 的性能 api 响应时间:

  1. 如果 api 被多个不同的客户端使用,那么 cache-control 将无济于事。而是使用实际缓存要发送的响应的缓存框架。比如使用 memcache 或 in-memory 缓存或文件缓存。

  2. 如果想要提高性能,这样一个客户端就不需要再次点击 api 来避免网络调用。然后 cache-control headers 在客户端使用 httpCaching。 CDN 还用于 off-loads 服务器获取请求的缓存目的。

你也可以试试这个 api jcabi

您不必实现任何缓存逻辑,只需注释即可发挥作用,您可以在控制器、服务或 dao 等任何级别使用它。