春天的全局变量mvc

时间:2015-08-30 18:16:28

标签: java spring jsp spring-mvc

我创建了一个spring mvc web应用程序。我的菜单是数据库,即它们存储在数据库中。每当我从其他浏览器调用index.jsp这是我的主页时,每次都会从数据库中检索菜单项。如何将菜单项存储在一个全局变量中,该变量可以随时访问而无需再次访问数据库或直到我重新启动服务器。

1 个答案:

答案 0 :(得分:2)

您的要求可以通过两种方式满足:

  1. 服务器缓存:
    使用一些开源服务器缓存库,如ehcache,它允许您在服务器内存中存储数据(您应用数据或从数据库检索的数据或从某些第三方应用程序调用接收的数据)。想法是 而不是执行相同的第三方调用,预期会产生相同的结果,执行一次,然后将其存储在服务器缓存中 。 Ehcache适用于Spring框架,实际上我们使用ehcache进行服务器端缓存,用于基于Spring框架的企业应用程序。

  2. 浏览器数据库存储
    HTML5提供IndexedDB API,可让您将数据存储在浏览器数据库中 因此,您可以从服务器检索一次数据,然后将其存储在本地数据库中,然后无论何时需要数据,您都可以先检查它是否存在于本地数据库中,如果不存在则检索并存储在本地数据库中,否则从中获取本地数据库。
    这种方法的优点是您甚至可以节省服务器呼叫,从而减少网络流量

  3. 根据您的要求,您可以选择一个选项。

    我不建议在全局变量中存储从数据库中检索的数据。它实际上不是一种可扩展的方法。

    你可以找到很多在线教程,但在每种情况下都会建议: