给定一个HTTP Cookie,我如何确保存储在其中的值是最新的



我目前遇到了并发请求的问题,NodeJS,访问点到一个cookie,其中包含我从服务器获得的信息。问题是发出的请求是异步的,需要保持这种状态,但是当cookie即将过时时,我负责请求新的数据集。如果多个并发请求都假定它们是应该负责刷新 cookie 值的请求,我如何继续更新 cookie 而不会使服务器因对新 cookie 的请求而陷入困境。

即 Req1->Req30 被触发。在处理 Req17 的过程中,cookie 的生存时间被捕获,因此它会发出刷新命令。问题是 Req18->Req30 都假设他们应该是刷新 cookie 值的人,因为他们也进行过时检查并在这方面失败。

我主动更改服务器端代码的能力有限,并且由于数据的敏感性,我无法轻易决定将其放置在数据库中,因为那时,我负责确保数据再次受到保护。

如果我只是在 cookie 中存储多个键/值,并循环访问它们,这可能会成为一个昂贵的操作。也可能在某些请求中使用无效数据覆盖 cookie,因为要更新 cookie 并附加新的键值对需要创建一个新的键值对,因为 cookie 本身是不可变的。

要处理 cookie 上的并发访问:

  • 使用时间戳;仅当数据较新时才执行更改

要处理 Cookie 数据更新:

  • 而不是让工作人员同时执行新数据的检查。要求一个特定的工作人员处理数据更新,而其他工作人员则以只读模式使用数据。

相关内容

最新更新