这是在网页中存储和使用从数据库加载的数据的最有效方法

Which is the most efficient method to store and use data loaded from database in a web page?

本文关键字:加载 数据库 数据 方法 有效 网页 存储      更新时间:2023-09-26

我有一个网站,它有很多combo boxesauto-complete textboxes,从数据库主接收数据。

我不希望每次用户输入登录或页面刷新时都加载数据。

什么是

为客户端加载和存储数据的最有效、最安全、最快捷的方法。还要考虑中型数据库。

我尝试了一些事情,例如,

  1. 存储在Javascript数组中 - 用户刷新后会丢失。
  2. 包括加载数据并在页面上填写Servlets,这也具有刷新也有同样的问题。
  3. 在需要时使用ajax和填充。
  4. 通过加载一次将数据存储在server side上,这节省了我每次查询数据库。但是每次注销/登录时必须维护。

有没有比这更好的方法

附言尽量不要让这太主观,请只回复方法并简要说明它。

您应该考虑使用 HTML5 本地存储。

这是一个演示!

还有一个教程。

HTML5本地存储应该可以正常工作,但是,如果您希望它在不支持HTML5的旧浏览器中工作,请查看: http://code.google.com/p/sessionstorage/

我以前在不同的应用程序中使用过它,效果很好。另外,为什么不使用好的旧饼干呢?

它还取决于您查询和加载数据的设置。 ASP.NET 有一些非常好的内置缓存,可以设置以避免整个问题。

最终,在任何给定的项目中,我发现我使用了几个不同的选项;
page caching(因此服务器缓存页面输出),
使用session cookies保存某些可以在网站上携带的数据,
如果需要,persistant cookies
某些数据套装由QueryStrings携带,有些适合ajaxjson设置以按需获取数据,最后,有些只是适合香草查询并加载到页面中。

有了所有这些,您就可以为工作选择合适的工具。200 个字符的字符串不适合在 QueryString 中传递。如果它只在一个页面上使用一次,那么把它放在session cookie中可能是合适的。如果要经常更新,那么ajax/json电话可能会更好。

然而,ID更适合在QueryString中传递,以及表单值(例如下拉列表的索引)等。

最后,值得检查一下这些对数据库的查询需要多长时间,因为您可能会为毫秒的返回付出很多努力。

HTML5 本地存储似乎是一个很好的解决方案,但如果 HTML5 不适合您,我做了一些类似于您过去尝试做的事情,只需序列化选项并将其保存到 cookie 中。