Aerospike如何处理通过多个连接创建同一记录?

问题描述 投票:1回答:2

如果两个连接试图创建相同的记录,aerospike将如何确保其中只有一个能够成功执行?Aerospike会在单个记录上维护操作队列。因此,如果一条记录存在,那么该记录上的所有操作都可以串行执行。但是,如果有多个连接调用创建操作,将会发生什么?

aerospike
2个回答
3
投票

正如您所说,由于Aerospike会序列化事务,因此如果使用仅创建客户端策略(例如,在Java中,recordExistsAction),则第二个将失败,但是默认情况下,将处理第二个“创建”作为更新...


3
投票

将要驻留事务的队列是rwHash中的“事务待处理列表”。附件是在4.7发行版之前的服务器版本中,创建(而非更新)事务如何流经的流程图。 Create Transaction

rwHash数据结构:

rwHash Data Structure

© www.soinside.com 2019 - 2024. All rights reserved.