(Java)存储具有索引属性的大量对象

我需要存储约10万个代表用户的对象.这些用户具有用户名,年龄,性别,城市和国家.

应该可以通过年龄范围和其他任何属性来搜索用户,但也可以通过属性的组合来搜索(例如,布鲁塞尔的30至35岁之间的女性).应迅速找到结果,因为它是许多已连接客户端的服务器服务之一).用户只能删除或添加,不能更新.

我想到了带有索引属性的快速数据库(例如h2 db看起来非常快,而且我看到它们具有内存模式)

我想知道在进入数据库之前是否还有其他选择.

谢谢您的任何想法!

解决方法:

您的服务器有多少内存?这些对象将占用多少内存?将它们全部保留在内存中是否可行?您真的需要加快内存保存速度,还是要推入数据库吗?它的确增加了内存的复杂性,并且确实增加了硬件要求…确定要使用它吗?

因为您描述的所有内容都可以在一个非常简单的服务器上运行,并放入一个非常简单的数据库中,并且可以为每个请求100ms的顺序提供所需的结果.您是否需要比100ms更快的响应时间?为什么?

上一篇:如何优化o(n ** 2)算法成为o(nlogn)或o(n)?


下一篇:Java JIT —可能进行哪些优化?