问题描述:
需要用第三方API请求数据到本地,每条数据中的一个字段,我们叫它itemID,在本地作为唯一性的ID存储,不同条数据中的itemID可能相同,所以,需要对数据字段进行加和。就用Map存储了,itemID为key,value为每条数据抽象成的本地对象。
问题来了,当key不停的增加,HashMap中的entry数目太大怎么办?
最直观的一个想法。 一级map太大,你可以用多级map。 比如按key做一个sharding,用多个map,甚至可以多个层级map,像个树一样。
这样可以解决单个map中entry过多的问题。 但是无法解决占用内存过大的问题。 因为拆分为多个map或者树形结构,一样是都在内存中。
内存问题的话没办法,把它改为外部的缓存中吧。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。