1
Given list of employees  
List<<EMPLOYEE>EMPLOYEE> empList;

POJO class:
Employee{
int id;
String name;
String address;
}

输入: empID作为redis缓存的key

Redis 缓存示例 JSON 数据:

(键)->(值)

1 -> {名称:xyz,地址:美国}
2 -> {名称:ABC,地址:欧洲}

要求:遍历员工列表,并通过进行异步缓存调用为每个 empID 获取员工详细信息。

一旦完成所有异步调用。发送所有员工的名单及其所有详细信息。

CompletableFuture.supplyAsync() 完成任务,但 completableFuture 的 get() 方法等待每个 Async 调用完成。从而增加响应时间。

甚至 allOf() 和 join() 方法也在增加等待异步任务完成的时间

有什么建议可以减少缓存的响应时间吗?

4

1 回答 1

0

您可以在 Redis 之前添加更接近(本地)的异步缓存层,以减少进入 Redis 的读取操作数。在 NodeJs 中,通过这样做,我观察到吞吐量提高了 50%-100%。不同的电脑设置会有不同的加速。但是连接 Redis 服务器的延迟肯定比从 RAM 中获取值要高,对吧?

https://redis.io/topics/client-side-caching

寻找跟踪和广播选项。即使没有它们,您仍然可以使用来自 github 的异步 lru 缓存实现。

于 2021-09-26T07:48:37.407 回答