我有一个db如下:
score:0
timeScore:86400
totalScore:0
time:1234567777 // Any time stamp
Run Code Online (Sandbox Code Playgroud)
现在每次用户投票
增量($ inc)得分+1然后我将timeScore更新为例如 (86400 / nowTimestamp() - time + 1 )
然后我将totalScore更新为(timeScore + score)
例如:第二次更新后的最终值:
score:1
timeScore:86400
totalScore:86401
time:1234567777
Run Code Online (Sandbox Code Playgroud)
问题是,在我的外部计算期间,可能是另一个用户在分数中添加+1并计算总数并在我更新数据之前写入其值,因此会出现数据损坏.
现在我如何解决这个问题或如何使其安全?
| 归档时间: |
|
| 查看次数: |
1905 次 |
| 最近记录: |