我需要将字符串存储到集合中。该集合将持有数十亿字符串。
该集合必须支持以并发方式快速查找,添加和删除。
除Java集合外,是否有任何已知的快速,低延迟集合......
我搜索但没有遇到任何有趣的事情......
答案 0 :(得分:2)
要在合理的成本服务器上保存数十亿个任意长度的字符串,您需要使用我在下面概述的策略。首先考虑“数十亿”字符串的含义:
这意味着无法在计算机上使用存储来保存所有字符串。
所需的存储容量驱动一个人使用外部存储...最灵活的是使用数据库,前面是mamory中的缓存。由于Collection只是一个接口,你可以使用一个集合为字符串实现这个巨大的存储空间(这将在内部查找字符串并处理数据库的“溢出”。
进一步的含义:有一些必需的方法必须返回null或错误,因为它们没有存储来产生结果,例如
所以..为了回答你的问题,你需要为“巨大的容量”实现你自己的集合,并实现你自己的缓存(或使用像ehcache这样的产品......例如,不是推荐)