【问题标题】:local storage expiring data本地存储过期数据
【发布时间】:2013-03-16 10:56:10
【问题描述】:

我正在使用 localStorage 保存会话客户端以节省我的数据库中的服务器端空间。为了做到这一点,我使用这样的对象:

users = {
  478vh9k52k: {
    name: 'john',
    messages: []
  },
  42r66s58rs: {
    name: 'jack',
    messages: []
  }
};

然后我使用users[id].messages.push(msgObj) 在正确的用户 ID 内推送新消息。最后我使用JSON.stringify,然后保存生成的字符串。

这样做的问题是字符串会慢慢增长,从而填补限制。消息数组的长度不是太大问题,因为我截断了它,但不再需要旧用户的存在。

问题很简单:如何删除包含在“用户”对象中的旧用户?我正在考虑在对象内添加时间戳作为键,然后访问随机用户以在每次保存时检查他们。

或者有更好的方法吗?

【问题讨论】:

    标签: javascript timestamp local-storage


    【解决方案1】:

    为什么要随机访问它们?你可以在几天内分割你的存储空间,用

    localStorage["chatLogs"] = {
      "13........0" : {
        bob: {},
        alice: {},
        christoffelson: {}
      }
      "13....86400" : {
        bob: {},
        alice: {},
        christoffelson: {}
      }
    }
    

    然后通过它的键运行你的对象。如果它们超过一天,请删除它们。或者,如果您要进行大量查询/过滤,您可以看看使用 indexdb 而不是 localStorage。

    【讨论】:

      猜你喜欢
      • 2019-05-07
      • 1970-01-01
      • 2021-01-30
      • 2023-01-18
      • 2017-07-01
      • 1970-01-01
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多