一个关于内存中搜索数据的问题.有好的方案追加分数~
项目里碰到一个设计上的问题:
假设在内存中存有大量的user对象,每个user对象都拥有各自的level,gold,location,items等信息(分别表示用户的等级,金钱,当前位置,所持物品)
现在的需求是要在内存中搜索出满足条件(例如:level属于[min,max]范围内的,gold=g,location=l,items包含某个物品item_no01)的N个user
在不能使用数据库查询的前提下,如何设计比较好?
例如把level进行分层,把location进行hash,先从level集合中筛选,再从location的hash表里hash出集合,再比对?有些地方可能避免不了遍历所有user进行死算,但是大家有没有比较好的最优设计方案?