Web应用程序中的持久数据

时间:2011-01-18 12:08:06

标签: persistent-storage persistent-data

存储持久数据的最佳方法是什么?我想节省用户最后一次活动在页面上的时间。首先我使用localstorage,然后我切换到cookie,因为它似乎更容易使用,现在我想将它存储在数据库中。你有什么建议。

还可以建议一个用户离开页面时注册的好方法吗?

3 个答案:

答案 0 :(得分:3)

根据您希望该机制的用户特定方式,您应该采用客户端或服务器端方法。本地存储显然取决于设备,或者更准确地说是用户用来访问您网站的浏览器。

如果您的网站每次用户访问您的网站时都可能从同一台计算机/浏览器访问,那么Cookie应该可以完成这项工作。不需要本地存储,因为它更适合更大的数据块。此外,用户可能正在使用不支持本地存储的浏览器。 Cookie已存在很长时间,几乎可用于所有浏览器和设备。

如果您的网站可能会从不同的设备访问,让我们说家用电脑,办公室电脑和智能手机,那么您应该考虑使用用户帐户的服务器端解决方案。但要确保用户真正从创建用户帐户的努力中受益(可能使用像stackoverflow这样的OpenID)。否则,您的网站成功将受到威胁。

简而言之......这更像是一项设计决策,了解您的用户并确定您要实现的目标。

答案 1 :(得分:2)

Cookie经常用于存储主要用于网站使用的非关键用户首选项,例如自动登录,语言,主题,时区等。由于这些首选项存储在用户的本地计算机上,因此Cookie是客户端技术并且可以由客户自由删除,因此您可能不希望依赖cookie来存储关键数据。

但是,如果存储特定于域的数据,例如用户名,密码,电子邮件,收藏夹等,您可能真的想使用关系数据库(RDBMS),例如MySQL,MS SQL或PostgreSQL。这些在处理大量数据和特征分数的有用功能(即交易,效率,灵活性)方面是可行的。

答案 2 :(得分:0)

如果您需要保存有关用户的其他信息,我会说将此信息与其他信息一起存储在数据库中,即您可以在用户数据库表中添加字段“last_time”。如果你不使用数据库(非常奇怪),添加一个只是为了存储这些信息可能有点夸张。你能详细说明你如何使用这些信息吗?使用cookie只允许您在用户连接到站点时访问它,因此我认为这不是最佳解决方案。

总的来说,无论如何,我认为SQL是最好的选择。