擅长:python、mysql、java
<p>Redis支持<a href="https://redis.io/topics/transactions" rel="nofollow noreferrer">transactions</a>,我将专门研究文档的<a href="https://redis.io/topics/transactions#cas" rel="nofollow noreferrer">check-and-set</a>部分。乐观地说,这正是你所需要的</p>
<h3>更新#1</h3>
<hr/>
<p>假设<code>redis-py</code>作为您的redis客户端,您可以执行以下操作:</p>
<pre><code>pipe = redis.pipeline()
pipe.watch('some_key') # watch key 'some_key'
value = pipe.get('some_key')
pipe.multi() # start transaction
value = 'some_value'
pipe.set('some_key', value) # update 'some_key' with new value
pipe.execute() # will fail if some other process wrote to 'some_key' in the meantime
</code></pre>