Класс yii\mutex\MysqlMutex
| Наследование | yii\mutex\MysqlMutex » yii\mutex\DbMutex » yii\mutex\Mutex » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/mutex/MysqlMutex.php |
MysqlMutex реализует механизм блокировки "lock" с помощью блокировок MySQL.
Пример конфигурации приложения:
[
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=demo',
]
'mutex' => [
'class' => 'yii\mutex\MysqlMutex',
],
],
]
См. также yii\mutex\Mutex.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $autoRelease | boolean | Указывает, должны ли все блокировки, полученные в этом процессе (т.е. локальные блокировки), автоматически освобождаться перед завершением выполнения сценария. | yii\mutex\Mutex |
| $behaviors | yii\base\Behavior[] | Список поведений, прикреплённых к этому компоненту | yii\base\Component |
| $db | yii\db\Connection|массив|строка | Объект подключения к базе данных или идентификатор компонента приложения для подключения к базе данных. | yii\mutex\DbMutex |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| acquire() | Приобретает блокировку по имени. | yii\mutex\Mutex |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, присоединенный к заданному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует реализацию компонента блокировки MySQL. | yii\mutex\MysqlMutex |
| off() | Отсоединяет существующего обработчика событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| release() | Освобождает приобретенную блокировку. Этот метод вернет false в случае, если блокировка не найдена. | yii\mutex\Mutex |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| acquireLock() | Захватывает блокировку с заданным именем. | yii\mutex\MysqlMutex |
| releaseLock() | Освобождает блокировку с заданным именем. | yii\mutex\MysqlMutex |
Подробное описание методов
acquireLock() защищенный метод
Захватывает блокировку с заданным именем.
См. также http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_get-lock.
| protected boolean acquireLock ( $name, $timeout = 0 ) | ||
|---|---|---|
| $name | string |
Имя блокировки. |
| $timeout | integer |
Время ожидания, пока блокировка не станет доступной. |
| return | boolean |
Результат захвата блокировки. |
init() публичный метод
Инициализирует реализацию компонента блокировки MySQL.
| public void init ( ) | ||
|---|---|---|
| throws | yii\base\InvalidConfigException |
если соединение $db не MySQL. |
releaseLock() защищенный метод
Освобождает блокировку с заданным именем.
См. также http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock.
| protected boolean releaseLock ( $name ) | ||
|---|---|---|
| $name | string |
Имя блокировки. |
| return | boolean |
Результат освобождения блокировки. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mutex-mysqlmutex.html