2014-10-19 62 views
0

我们正在用Java构建一个自定义CMS。存储在servlet上下文中的Java与数据库查找

当主servlet接收到一个请求时,我们执行查找以查看哪个条目与请求路径相关联,然后将条目显示给用户。

我们想知道其中这3种方法中的一种可能是最快的/最便宜的在性能方面:

  1. 存储在启动时地图上在servlet上下文中的所有条目的(关键 =路径,value = entry),然后在接收到请求时根据路径简单地获取条目

  2. 在启动时存储servlet上下文中所有条目的数组列表,然后在列表中迭代以获取条目在收到请求时的路径上

  3. 执行DB查询,以获得进入

为了给你更多的情况下,我们目前有大约100个条目,并预计这一增长到约1000。 数据库与Web应用程序共享,我们希望确保Web应用程序的最大可用性。同时SEO是我们的第一流量来源,因此保持快速加载时间对我们来说非常重要。

任何想法,将不胜感激。

+1

你的数据库,不管它是什么,都应该足够快,特别是处理如此少量的数据。缓存在内存中不会带来任何显着的性能提升,但会让你的应用变得更加复杂:什么时候使缓存无效?如何知道数据库中的某些内容已被更改,并避免显示陈旧的数据?不成熟的优化是万恶之源。 – 2014-10-19 09:50:31

回答

0

内存查找总是比数据库查找更快。如果数据的大小并不大,并且如果数据在加载后没有改变,将它存储在Map中是一个好的选择(在列表上迭代将是一个坏主意)。如果你的服务器有内存可用,那么在内存中有几MB的数据将不成问题。

相关问题