Class yii\mutex\MysqlMutex
MysqlMutex implements mutex "lock" mechanism via MySQL locks.
Application configuration example:
[
'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 | Whether all locks acquired in this process (i.e. local locks) must be released automatically before finishing script execution. | yii\mutex\Mutex |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$db | yii\db\Connection|array|string | 数据库连接对象或数据库连接的应用程序组件ID。 创建 Mutex 对象后,如果要更改此属性, 则只应为其分配一个数据库连接对象。 从版本 2. | yii\mutex\DbMutex |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
acquire() | Acquires a lock by name. | yii\mutex\Mutex |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes MySQL specific mutex component implementation. | yii\mutex\MysqlMutex |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
release() | Releases acquired lock. This method will return false in case the lock was not found. | yii\mutex\Mutex |
trigger() | Triggers an event. | yii\base\Component |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
acquireLock() | Acquires lock by given name. | yii\mutex\MysqlMutex |
hashLockName() | Generate hash for lock name to avoid exceeding lock name length limit. | yii\mutex\MysqlMutex |
releaseLock() | Releases lock by given name. | yii\mutex\MysqlMutex |
方法详情
Acquires lock by given name.
参见 http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_get-lock.
protected boolean acquireLock($name, $timeout = 0) | ||
$name | string | Of the lock to be acquired. |
$timeout | integer | Time (in seconds) to wait for lock to become released. |
return | boolean | Acquiring result. |
---|
Generate hash for lock name to avoid exceeding lock name length limit.
protected string hashLockName($name) | ||
$name | string |
Initializes MySQL specific mutex component implementation.
public void init() | ||
throws | yii\base\InvalidConfigException | if $db is not MySQL connection. |
---|
Releases lock by given name.
参见 http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock.
protected boolean releaseLock($name) | ||
$name | string | Of the lock to be released. |
return | boolean | Release result. |
---|