这是在网页中存储和使用从数据库加载的数据的最有效方法
Which is the most efficient method to store and use data loaded from database in a web page?
我有一个网站,它有很多combo boxes
和auto-complete
textboxes
,从数据库主接收数据。
我不希望每次用户输入登录或页面刷新时都加载数据。
什么是为客户端加载和存储数据的最有效、最安全、最快捷的方法。还要考虑中型数据库。
我尝试了一些事情,例如,
- 存储在
Javascript
数组中 - 用户刷新后会丢失。 - 包括加载数据并在页面上填写
Servlets
,这也具有刷新也有同样的问题。 - 在需要时使用
ajax
和填充。 - 通过加载一次将数据存储在
server side
上,这节省了我每次查询数据库。但是每次注销/登录时必须维护。
有没有比这更好的方法
附言尽量不要让这太主观,请只回复方法并简要说明它。
您应该考虑使用 HTML5 本地存储。
这是一个演示!
还有一个教程。
HTML5本地存储应该可以正常工作,但是,如果您希望它在不支持HTML5的旧浏览器中工作,请查看: http://code.google.com/p/sessionstorage/
我以前在不同的应用程序中使用过它,效果很好。另外,为什么不使用好的旧饼干呢?
它还取决于您查询和加载数据的设置。 ASP.NET 有一些非常好的内置缓存,可以设置以避免整个问题。
最终,在任何给定的项目中,我发现我使用了几个不同的选项;
从page caching
(因此服务器缓存页面输出),
使用session cookies
保存某些可以在网站上携带的数据,
如果需要,persistant cookies
,
某些数据套装由QueryStrings
携带,有些适合ajax
或json
设置以按需获取数据,最后,有些只是适合香草查询并加载到页面中。
有了所有这些,您就可以为工作选择合适的工具。200 个字符的字符串不适合在 QueryString
中传递。如果它只在一个页面上使用一次,那么把它放在session cookie
中可能是合适的。如果要经常更新,那么ajax
/json
电话可能会更好。
然而,ID
更适合在QueryString
中传递,以及表单值(例如下拉列表的索引)等。
最后,值得检查一下这些对数据库的查询需要多长时间,因为您可能会为毫秒的返回付出很多努力。
HTML5 本地存储似乎是一个很好的解决方案,但如果 HTML5 不适合您,我做了一些类似于您过去尝试做的事情,只需序列化选项并将其保存到 cookie 中。
- Jquery(多读/少读)在从数据库加载整个数据后不起作用
- 当select标记触发onChange事件时,从mysql数据库加载html表
- 为什么 Javascript 和 AJAX 调用(在页面加载时)会导致数据库行为空?(脸书画布)
- SuiteScript:如何有一个自定义的数据字段来从数据库加载信息
- 在Moqui中,如何在html.ftl中加载数据库表数据作为下拉列表
- Selectize.js:如何将数据库中已经选择的标签预加载到输入字段(Meteor&MongoDB/JSON)
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 从数据库加载记录,不带提交按钮的下拉选择
- 无限滚动:从数据库加载所有数据并滚动以显示更多
- 使用 SQL .js在 JavaScript 中加载 SQLite 数据库
- 有没有办法重新加载主GEPlugin数据库
- 如何高亮显示选定的文本并存储在数据库中,以及当页面重新加载时,如何高亮显示回选定的文本
- 单击图像时从数据库加载选项id
- 如何使用YDN-db在另一个Html页面中加载数据库上下文
- 在css背景上动态加载数据库中的图像
- 我如何通过ajax加载数据库内容之前,一个过滤器键被按下
- 点击加载数据库项
- JQuery没有'ajax加载数据库后无法工作
- 基于用户文本输入动态加载数据库
- 可以't在dhtmlxgantt.php中加载数据库