PHP Conference Japan 2024

CollectionFind::lockExclusive

(无版本信息可用,可能仅存在于 Git 中)

CollectionFind::lockExclusive以独占锁执行操作

描述

public mysql_xdevapi\CollectionFind::lockExclusive(int $lock_waiting_option = ?): mysql_xdevapi\CollectionFind

独占锁定文档。只要文档被锁定,其他事务就不能更新文档,使用SELECT ... LOCK IN SHARE MODE,或在某些事务隔离级别读取数据。一致性读取会忽略在读取视图中存在的记录上设置的任何锁。

为了避免并发问题,将此函数与mysql_xdevapi\Collection::modify()方法一起使用是很有意义的。本质上,此函数使用行锁来序列化对行的访问。

参数

lock_waiting_option

可选等待选项。默认情况下为MYSQLX_LOCK_DEFAULT。有效值为这些常量

返回值

返回一个可用于进一步处理的 CollectionFind 对象。

范例

示例 #1 mysql_xdevapi\CollectionFind::lockExclusive() 示例

<?php
$session
= mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$session->startTransaction();

$result = $collection
->find("age > 50")
->
lockExclusive()
->
execute();

// ... 对对象执行操作

// 完成事务并解锁文档
$session->commit();
?>
添加注释

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top