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

时间:2017-08-28 14:32:20

标签: node.js web-services cookies

我目前遇到并发请求NodeJS的问题,其中包含一个cookie的访问点,该cookie包含我从服务器获得的信息。问题是所提出的请求是异步的,并且需要保持这种方式,但我负责在cookie即将变得陈旧时要求新的数据集。如果多个并发请求都假设他们应该负责刷新cookie的值,那么如何在不使用新cookie的请求阻塞服务器的情况下更新cookie?

即。发射Req1-> Req30。在处理Req17的过程中,捕获了cookie的生存时间,因此它发出了刷新命令。事情是Req18-> Req30都假设它们应该是刷新cookie值的那些,因为它们也会进行陈旧性检查并在这方面失败。

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

我应该只在cookie中存储多个键/值,并迭代它们,这可能会成为一项昂贵的操作。也可以在某些请求中使用无效数据覆盖cookie,因为更新cookie并附加新的键值对需要创建一个新的键值,因为cookie本身具有不可变性。

1 个答案:

答案 0 :(得分:1)

要处理cookie上的并发访问:

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

处理cookie数据续订:

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