我需要能够从 Java 程序中查找字符串对(例如 URL)的信息。信息本身很小,例如只是一个数字。但是会有数百万甚至数十亿个字符串,我需要查找其中任何两个的信息,并且我需要为大量对执行此操作,每秒执行更多次。
理想情况下,这将用作缓存:如果尚未存储特定的一对字符串,我将需要存储与其关联的数字。存储在缓存中的对的总数将远小于可能的对总数。或者,也可以通过定期添加新批次对来完成,甚至可能重新创建数据结构。首要目标是在不占用大量内存的情况下快速查找。
这应该尽可能快,但是因为缓存中的对数可能非常大,我认为这不应该是一种依赖于内存中加载的所有内容的方法。
任何想法如何解决这个问题?我很确定这之前一定已经解决了数千次,但我宁愿从一开始就尝试解决这个问题。