缓存Rest请求

时间:2015-11-12 14:12:16

标签: rest jersey osgi

我有一种情况,我有来自其他服务器的邮寄休息请求查询客户信息,包括UID和其他信息,如客户ID。在回复客户信息后,我得到第二个请求,具有相同的UID请求付款给同一个客户。我想缓存此UID以及第一个请求中的其他信息,以便能够识别哪个第二个请求属于哪个客户。

有人可以帮我用球衣来实现这种情况吗?

1 个答案:

答案 0 :(得分:0)

正如Pedro所述,每个请求都应包含处理请求所需的所有数据。

如果两个请求都包含UID并且UID可以用作密钥,那么根据UID缓存客户信息(可能考虑性能考虑?)是可以接受的。但这是一个纯粹的缓存问题,而不是泽西岛问题。

例如,如果使用JPA获取客户信息,则二级缓存可以缓存此信息。

如果通过其他方式获取信息,请考虑使用Guava Cache。 https://github.com/google/guava/wiki/CachesExplained

您可以手动添加缓存(使用缓存" asMap")或使用缓存加载器。如果缓存中没有数据,它将加载和返回数据,如果在缓存中可用,则将其从缓存中返回。

番石榴缓存包含各种好东西:基于大小的驱逐,基于时间的驱逐等等。

番石榴缓存易于使用,重量轻,生产就绪。您可以轻松地将Cache实例包装到单个实例中,并在请求中共享它。