我正在使用localStorage来保存客户端的会话以节省我的数据库中的服务器端空间。为了做到这一点,我使用这样的对象:
users = {
478vh9k52k: {
name: 'john',
messages: []
},
42r66s58rs: {
name: 'jack',
messages: []
}
};
然后我使用users[id].messages.push(msgObj)
在正确的用户ID中推送新邮件。最后,我使用JSON.stringify
,然后保存生成的字符串。
问题在于,弦线会慢慢增长,从而填补极限。消息数组的长度并不是太大问题,因为我将其截断,但不再需要旧用户的存在。
问题很简单:如何删除“用户”对象中包含的旧用户?我想在时间戳中添加一个时间戳作为键,然后访问随机用户,以便在每次保存时检查它们。
或者有更好的方法吗?
答案 0 :(得分:0)
为什么要随机访问它们?您可以在几天内用
分割存储空间localStorage["chatLogs"] = {
"13........0" : {
bob: {},
alice: {},
christoffelson: {}
}
"13....86400" : {
bob: {},
alice: {},
christoffelson: {}
}
}
然后通过其键遍历您的对象。如果他们超过一天,请删除它们。或者,如果您要进行大量的查询/过滤,可以查看使用indexdb而不是localStorage。