mysql Java在servlet上下文中存储与数据库查找
我们正在用Java构建一个定制CMS
当主servlet接收到请求时,我们执行查找以查看哪个条目与请求路径关联,然后向用户显示该条目
我们想知道这三种方法中哪一种在性能方面最快/最便宜:
在启动时存储servlet上下文中所有条目的映射(键 =path,value=entry),然后在收到请求时根据路径获取条目
在启动时将所有条目的数组列表存储在servlet上下文中,然后在列表上迭代以在收到请求时根据路径获取条目
执行数据库查找以获取条目
为了让您了解更多的内容,我们目前有大约100个条目,预计将增长到1000个左右。 DB与web应用程序共享,我们希望确保web应用程序的最大可用性。同时,搜索引擎优化是我们的#1流量来源,因此保持快速加载时间对我们来说非常重要
如果您对此有任何想法,我们将不胜感激
# 1 楼答案
内存内查找总是比数据库查找快。如果数据的大小不大,并且加载后数据没有变化,那么将其存储在映射中是一个不错的选择(在列表上迭代是个坏主意)。如果您的服务器有空闲的内存,那么内存中有几MB的数据将不是问题