假设有两个客户端正在访问相同的redis list datastructure.一个是做LPOP而另一个是在同一个列表上做RPUSH.如果它们并行运行,这两个客户端之间是否存在任何争用?当一个客户端访问它时,Redis会锁定mylist(下面),即使并行运行的客户端正在访问mylist的不同端点吗?
Client 1
RPUSH mylist a
RPUSH mylist b
Client 2
LPOP mylist
LPOP mylist
Run Code Online (Sandbox Code Playgroud)
客户端1和客户端2并行运行.如果在这种情况下会有争用,请告诉我.
Redis是单线程的,因此每个命令都会(保证)以原子方式执行.没有并行/并发访问redis的数据结构,因此在您的方案中,您无法确定谁将首先执行.
| 归档时间: |
|
| 查看次数: |
3441 次 |
| 最近记录: |