小编All*_*ang的帖子

如何使用Redis防止竞争条件?

我使用Only Redis作为我的数据库,我的客户端是ServiceStack.Redis.问题是,如果两个并发请求需要更新一个密钥,那么它可能是竞争条件.例如

A:

  1. int a =获取密钥

  2. a = a - 100
  3. 设置键a
  4. EXEC

B:

  1. int a =获取密钥

  2. a = a - 100
  3. 设置键a
  4. EXEC

如果原点"key"是1000.如果序列A和B被序列化,则"key"这两个操作的正确结果将是800.但是如果A和B同时发生.在A可以提交之前,操作B从"key"获得值1000,并将900设置为"key".那不是我想要的.如何防止这种竞争条件,使用"WATCH"?

redis servicestack servicestack.redis

9
推荐指数
1
解决办法
5018
查看次数

标签 统计

redis ×1

servicestack ×1

servicestack.redis ×1