使用CacheBuilder对象的地图

时间:2016-08-16 20:05:24

标签: java maven concurrency guava concurrenthashmap

我说有N个站点:Site1,Site 2,Site3..upto Site N。

现在,每个网站都有自己的处理请求的倾向,并且有一个配置说网站X可以处理每B秒的A个请求。

因此,有些工人不断地进入这些网站。如果我要为一个站点做,那么CacheBuilder会有所帮助。

但我怎样才能为N个网站做到这一点。

Cache<String, String> graphs = CacheBuilder.newBuilder()
            .concurrencyLevel(4)
            .weakKeys()
            .maximumSize(10000)
            .expireAfterWrite(10, TimeUnit.MINUTES)
            .build(
                    new CacheLoader<String, String>() {
                        public String load(String key) {
                            return "HEY";
                        }
                    });

在此,密钥可以是messageID,值可以是其放置的时间戳。 假设站点X每5秒有2个请求。然后expireAfterWrite将处理这个。

理想情况下,我正在寻找这个CacheBuilder的Map,其中Key将是Site Name,值将是这个CacheBuilder对象。

如果除此之外还有什么可以是理想的数据结构?如果不是,那么如何为这个用例修改它?

0 个答案:

没有答案