我的服务是调用其他服务而这个其他服务根据在一分钟内发送的请求数量限制我(无论每秒多少,只要在最后一分钟有< x请求)
我想向我的用户显示真的非常粗略估计在最后一分钟内已经提出了多少请求。 它无论如何都不需要准确,它只是用户查看大致数字
的一种方式实施这样一个计数器的最佳,最少内存要求的方法是什么?
答案 0 :(得分:2)
您可以执行以下操作:
int[] requestCount = new int[60]
requestCount[(System.currentTimeMillis() / 1000) % 60]++;
IntStream.of(requestCount).sum();
注意:
final AtomicInteger[]
数组。足迹应该相当小。