分布式锁|点燃文档

点燃2023年峰会-按需观看-立即注册!

编辑

分布式锁

概述

Ignite事务隐式获取分布式锁。然而,在某些用例中,您可能需要显式获取锁。这个锁定()方法点火缓存API返回的实例java.util.concurrent.locks。锁定它允许您为任何给定密钥定义显式分布式锁。还可以使用IgniteCache.lockAll()方法。

点火缓存<字符串, 整数> 高速缓存 = 点燃.高速缓存(“myCache”);

//为给定密钥创建锁
锁定  = 高速缓存.(“keyLock”(钥匙锁));
尝试 {
    //获取锁
    .();

    高速缓存.(“你好”, 11);
    高速缓存.(“世界”, 22);
}
最后 {
    //松开锁
    .解锁();
}
注释

原子性模式

在Ignite中,锁仅支持交易原子性模式,可以通过缓存配置.自动模式参数。

锁和事务

显式锁不是事务性的,不能在事务内使用(将引发异常)。如果您确实需要在事务中显式锁定,那么您应该使用事务并发。PESSIMISTIC公司并发控制将为相关集群数据请求获取显式锁的事务。