【问题标题】:storing a 3kb json in cookies, as a file on server or in the database将 3kb json 存储在 cookie 中,作为服务器或数据库中的文件
【发布时间】:2015-09-18 12:36:10
【问题描述】:


我有一个需要为每个用户存储的 json 文件。

  1. 存储为 cookie
    json 为 3kb,因此小于 cookie 的 4kb 限制

  2. 作为文件存储在
    我的服务器 /json/user13.json

  3. 存储在数据库中
    (user_id (int, 主键), json (blob)

这将经常被检索到
json 文件最初会从数据库中生成,
我正在考虑将其存储为 cookie 或文件以提供帮助
服务器的执行速度稍快。

谢谢!

【问题讨论】:

  • 这就是为什么 sessions 存在于所有现代 Web 框架中的原因。您不应该将“数据”存储在 cookie 中 - 只是一个会话密钥。将数据保存在服务器端。
  • 意思是你赞成将其保存为服务器端的 json 文件的想法?
  • 这不是敏感数据,如果有人查看了也没关系。

标签: php mysql json cookies


【解决方案1】:

不让我写一个简单的评论,所以我稍微扩展一下,你有没有想过使用 html5 localStorage?

写:

var obj = {foo: 'bar'};
localStorage.setItem('obj', JSON.stringify(obj)); //<-- saved as JSON string

(保存为字符串,因为您无法将 json 对象保存在 localStorage、soo、字符串中,并且我认为您有 5 mb 的限制)

稍后阅读:

var obj = JSON.parse(localStorage.getItem('obj'));

我不知道在这种情况下是否适合您

编辑:

其他没有localStorage的浏览器可以使用https://github.com/wojodesign/local-storage-js

基本上当没有使用 localStorage 或 Global Storage 时: - https://developer.mozilla.org/en/dom/storage#globalStorage

或用户数据: - http://msdn.microsoft.com/en-us/library/ms531424(v=vs.85).aspx

不知道实现了多少支持'back',但是允许IE5、6、7等浏览器

【讨论】:

  • 我知道本地存储,但它是一个可靠的解决方案吗?我不认为许多浏览器支持它。同时 cookie 是一种更可靠的解决方案,因为所有浏览器自然都支持它。
  • 投反对票,因为我想减缓存储兆字节垃圾机器的网络应用程序的扩散速度。这就是会话的用途,使用它们。
  • bornie 看浏览器支持你可以看:w3schools.com/html/html5_webstorage.asp我只建议想法:)
  • 是的,IE 8+。我的用户不是拥有最新可用浏览器的技术型用户,因此在我的情况下,这并不是一个可靠的解决方案。感谢您的建议!
  • netmarketshare.com/… 17% 是“其他”浏览器,我不知道他们支持什么,甚至 chrome/mozilla/ie 用户也可能有一些过时的版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2021-08-05
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多