我正在尝试使用 NodeJS 和 Redis 创建游戏服务器。我在 Redis 中使用一个 GameStatus 来使用 Pub/Sub 向相应的客户端执行广播。
问题是当每个用户修改 GameStatus 并使用 Pub/Sub 接收广播时,我无法保证完整性。比如User 1在0.1秒读取GameStatus并修改,同时User 2在0.2秒读取GameStatus
0.3秒,User 1将修改后的GameStatus信息存储到Redis中,但直到此时,User 2继续修改GameStatus。 0.4秒,User 2保存GameStatus时,User 1修改的信息被覆盖
有没有办法防止这种覆盖?