本地存储过期数据

时间:2013-03-16 10:56:11

标签: javascript timestamp local-storage

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

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

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

问题在于,弦线会慢慢增长,从而填补极限。消息数组的长度并不是太大问题,因为我将其截断,但不再需要旧用户的存在。

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

或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

为什么要随机访问它们?您可以在几天内用

分割存储空间
localStorage["chatLogs"] = {
  "13........0" : {
    bob: {},
    alice: {},
    christoffelson: {}
  }
  "13....86400" : {
    bob: {},
    alice: {},
    christoffelson: {}
  }
}

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