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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aerospike如何处理通过多个连接创建同一记录?相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

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

rwHash数据结构:

rwHash Data Structure

以上是关于Aerospike如何处理通过多个连接创建同一记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理共享同一通道的多个 goroutine

如何处理用户更新同一个MongoDB文档

composer 如何处理同一个包的多个版本?

服务定位器模式 - 如何处理同一个服务接口的多个实现

Flux - 如何处理多个商店更新相同的视图?

Nginx如何处理一个连接