项目中有很多数据,根据不同的metadata或者tag来把他们归类。
比如:
tag 学校,数据有xx小学,xxx中学,等等
tag 餐馆,数据有xx餐馆,xxx酒店
tag 建筑,数据有xx小学,xx餐馆
在数据量很多,tag也很多的情况下,(很多many-to-many关系),如何高效实现这种数据结构?
如何在读取数据的时候可以做到很高效?
我可以创建很多hashmap,每个key是tag,value是数据对象list或者array,但如果查找与好几个tag都有关系的数据,这不是个很有效的实现。当然可以从数据库中查询,然后缓存,但问题是,tag的组合很多,导致缓存里的数据类也很多。
项目的要求是尽可能把数据存到内存或者cache里面,然后高效的读取。
我没做过类似metadata/tagging的项目,请有经验有想法的朋友不吝赐教。谢谢啦!
这个不算新手贴吧。。。如果是的话,请在投票前指明出路。。。拜谢~~~~