我有什么选项可以在Web应用程序中的请求之间共享只读数据

时间:2013-10-27 23:14:41

标签: database-design web architecture share

我们有一个Web应用程序需要存储大约200MB的数据,这些数据将以只读方式跨用户请求进行访问。数据当前存储在数据库中。我们希望将其带入内存以加快读取速度。解决这个问题的最佳方法是什么? 我们应该采用某种静态数据结构,这些结构将在请求之间共享吗?我们是否应该有一个单独的流程来初始化内存中的数据并通过IPC与请求进行通信?或者有什么我想念的东西? memcached会帮助这样的事吗? 我不知道这是否有所不同,但应用程序是混合了groovy / grails和java与postgres后端apache。

编辑:加载后,数据不需要任何更新。它在Web应用程序的生命周期中保持不变。

1 个答案:

答案 0 :(得分:1)

如果你拥有的只是postgres数据库中的200MB数据,那么你可以拥有一个初始化阶段(或更新数据后的同步阶段),将所有数据作为Java POJO读入内存。您的Web应用程序可以使用这些POJO来服务传入的HTTP请求。除非您发现无法将所有内容放在一个服务器的内存空间中,否则不需要memcached。