Класс yii\redis\Connection
| Наследование | yii\redis\Connection » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-redis/blob/master/Connection.php |
Класс redis подключения используется для установления соединения с сервером redis.
По умолчанию предполагается, что сервер redis работает на localhost на порту 6379 и использует номер базы данных 0.
Возможна установка соединения с сервером redis с использованием $hostname и $port или с помощью $unixSocket.
Он также поддерживает команду AUTH redis. Если для сервера требуется аутентификация, вы можете установить свойство $password для аутентификации с сервером после подключения.
Выполнение команд redis возможно с помощью executeCommand().
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений | yii\base\Component |
| $connectionTimeout | float | Таймаут для подключения к redis. | yii\redis\Connection |
| $dataTimeout | float | Таймаут для сокета redis при чтении и записи данных. | yii\redis\Connection |
| $database | integer | Используемая база данных redis. | yii\redis\Connection |
| $driverName | string | Имя драйвера БД | yii\redis\Connection |
| $hostname | string | Имя хоста или IP-адрес для подключения к серверу redis. | yii\redis\Connection |
| $isActive | boolean | Установлено ли соединение с БД | yii\redis\Connection |
| $luaScriptBuilder | yii\redis\LuaScriptBuilder | yii\redis\Connection | |
| $password | string | Пароль для установления соединения с БД. | yii\redis\Connection |
| $port | integer | Порт для подключения к серверу redis. | yii\redis\Connection |
| $redisCommands | array | Список доступных команд redis. | yii\redis\Connection |
| $socketClientFlags | integer | Поле битовой маски, которое может быть установлено в любое сочетание флагов подключения, переданных в [stream_socket_client()](http://php. | yii\redis\Connection |
| $unixSocket | string | Путь к unix сокету (например, `/var/run/redis/redis. | yii\redis\Connection |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Позволяет выполнять все поддерживаемые команды через магические методы. | yii\redis\Connection |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __sleep() | Закрывает соединение при сериализации компонента. | yii\redis\Connection |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| attachBehavior() | Прикрепляет поведение к компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен иметь этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| close() | Закрывает текущее активное соединение БД. | yii\redis\Connection |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| executeCommand() | Выполняет команду redis. | yii\redis\Connection |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getDriverName() | Возвращает имя драйвера БД для текущего \yii\redis\dsn. | yii\redis\Connection |
| getIsActive() | Возвращает значение, указывающее, установлено ли соединение с БД. | yii\redis\Connection |
| getLuaScriptBuilder() | yii\redis\Connection | |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к событию с указанным именем. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| open() | Устанавливает соединение с БД. | yii\redis\Connection |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| initConnection() | Инициализирует соединение с БД. | yii\redis\Connection |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_OPEN | \yii\redis\Event | Событие, которое срабатывает после установления соединения с БД | yii\redis\Connection |
Подробное описание свойств
$connectionTimeout публичное свойство
Таймаут для подключения к redis. Если не задан, используется таймаут, заданный в php.ini: ini_get("default_socket_timeout").
public float $connectionTimeout = null
$dataTimeout публичное свойство
Таймаут для сокета redis при чтении и записи данных. Если не задан, используется значение по умолчанию PHP.
public float $dataTimeout = null
$database публичное свойство
База данных redis для использования. Это целое число, начиная с 0. По умолчанию 0. С версии 2.0.6 вы можете отключить команду SELECT, отправляемую после подключения, установив это свойство в null.
public integer $database = 0
$driverName публичное только для чтения свойство
Имя драйвера БД
public string getDriverName ( )
$hostname публичное свойство
Имя хоста или IP-адрес для подключения к серверу redis. По умолчанию 'localhost'. Если указан $unixSocket, имя хоста и порт игнорируются.
public string $hostname = 'localhost'
$isActive публичное только для чтения свойство
Установлено ли соединение с БД
public boolean getIsActive ( )
$luaScriptBuilder публичное только для чтения свойство
public yii\redis\LuaScriptBuilder getLuaScriptBuilder ( )
$password публичное свойство
Пароль для установления соединения с БД. По умолчанию null, что означает, что команда AUTH не отправляется. См. http://redis.io/commands/auth
public string $password = null
$port публичное свойство
Порт для подключения к серверу redis. Порт по умолчанию 6379. Если указан $unixSocket, имя хоста и порт игнорируются.
public integer $port = 6379
$redisCommands публичное свойство
Список доступных команд redis.
См. также http://redis.io/commands.
public array $redisCommands = ['APPEND', 'AUTH', 'BGREWRITEAOF', 'BGSAVE', 'BITCOUNT', 'BITFIELD', 'BITOP', 'BITPOS', 'BLPOP', 'BRPOP', 'BRPOPLPUSH', 'CLIENT KILL', 'CLIENT LIST', 'CLIENT GETNAME', 'CLIENT PAUSE', 'CLIENT REPLY', 'CLIENT SETNAME', 'CLUSTER ADDSLOTS', 'CLUSTER COUNTKEYSINSLOT', 'CLUSTER DELSLOTS', 'CLUSTER FAILOVER', 'CLUSTER FORGET', 'CLUSTER GETKEYSINSLOT', 'CLUSTER INFO', 'CLUSTER KEYSLOT', 'CLUSTER MEET', 'CLUSTER NODES', 'CLUSTER REPLICATE', 'CLUSTER RESET', 'CLUSTER SAVECONFIG', 'CLUSTER SETSLOT', 'CLUSTER SLAVES', 'CLUSTER SLOTS', 'COMMAND', 'COMMAND COUNT', 'COMMAND GETKEYS', 'COMMAND INFO', 'CONFIG GET', 'CONFIG REWRITE', 'CONFIG SET', 'CONFIG RESETSTAT', 'DBSIZE', 'DEBUG OBJECT', 'DEBUG SEGFAULT', 'DECR', 'DECRBY', 'DEL', 'DISCARD', 'DUMP', 'ECHO', 'EVAL', 'EVALSHA', 'EXEC', 'EXISTS', 'EXPIRE', 'EXPIREAT', 'FLUSHALL', 'FLUSHDB', 'GEOADD', 'GEOHASH', 'GEOPOS', 'GEODIST', 'GEORADIUS', 'GEORADIUSBYMEMBER', 'GET', 'GETBIT', 'GETRANGE', 'GETSET', 'HDEL', 'HEXISTS', 'HGET', 'HGETALL', 'HINCRBY', 'HINCRBYFLOAT', 'HKEYS', 'HLEN', 'HMGET', 'HMSET', 'HSET', 'HSETNX', 'HSTRLEN', 'HVALS', 'INCR', 'INCRBY', 'INCRBYFLOAT', 'INFO', 'KEYS', 'LASTSAVE', 'LINDEX', 'LINSERT', 'LLEN', 'LPOP', 'LPUSH', 'LPUSHX', 'LRANGE', 'LREM', 'LSET', 'LTRIM', 'MGET', 'MIGRATE', 'MONITOR', 'MOVE', 'MSET', 'MSETNX', 'MULTI', 'OBJECT', 'PERSIST', 'PEXPIRE', 'PEXPIREAT', 'PFADD', 'PFCOUNT', 'PFMERGE', 'PING', 'PSETEX', 'PSUBSCRIBE', 'PUBSUB', 'PTTL', 'PUBLISH', 'PUNSUBSCRIBE', 'QUIT', 'RANDOMKEY', 'READONLY', 'READWRITE', 'RENAME', 'RENAMENX', 'RESTORE', 'ROLE', 'RPOP', 'RPOPLPUSH', 'RPUSH', 'RPUSHX', 'SADD', 'SAVE', 'SCARD', 'SCRIPT DEBUG', 'SCRIPT EXISTS', 'SCRIPT FLUSH', 'SCRIPT KILL', 'SCRIPT LOAD', 'SDIFF', 'SDIFFSTORE', 'SELECT', 'SET', 'SETBIT', 'SETEX', 'SETNX', 'SETRANGE', 'SHUTDOWN', 'SINTER', 'SINTERSTORE', 'SISMEMBER', 'SLAVEOF', 'SLOWLOG', 'SMEMBERS', 'SMOVE', 'SORT', 'SPOP', 'SRANDMEMBER', 'SREM', 'STRLEN', 'SUBSCRIBE', 'SUNION', 'SUNIONSTORE', 'SWAPDB', 'SYNC', 'TIME', 'TOUCH', 'TTL', 'TYPE', 'UNSUBSCRIBE', 'UNLINK', 'UNWATCH', 'WAIT', 'WATCH', 'ZADD', 'ZCARD', 'ZCOUNT', 'ZINCRBY', 'ZINTERSTORE', 'ZLEXCOUNT', 'ZRANGE', 'ZRANGEBYLEX', 'ZREVRANGEBYLEX', 'ZRANGEBYSCORE', 'ZRANK', 'ZREM', 'ZREMRANGEBYLEX', 'ZREMRANGEBYRANK', 'ZREMRANGEBYSCORE', 'ZREVRANGE', 'ZREVRANGEBYSCORE', 'ZREVRANK', 'ZSCORE', 'ZUNIONSTORE', 'SCAN', 'SSCAN', 'HSCAN', 'ZSCAN']
$socketClientFlags публичное свойство (доступно с версии 2.0.5)
Битовая маска, которая может быть установлена любым сочетанием флагов подключения, переданных в stream_socket_client(). В настоящее время выбор флагов подключения ограничен STREAM_CLIENT_CONNECT (по умолчанию), STREAM_CLIENT_ASYNC_CONNECT и STREAM_CLIENT_PERSISTENT.
См. также http://php.net/manual/en/function.stream-socket-client.php.
public integer $socketClientFlags = STREAM_CLIENT_CONNECT
$unixSocket публичное свойство (доступно с версии 2.0.1)
Путь к сокету Unix (например, /var/run/redis/redis.sock) для подключения к серверу Redis. Его можно использовать вместо $hostname и $port для подключения к серверу через сокет Unix. Если указан путь к сокету Unix, $hostname и $port будут проигнорированы.
public string $unixSocket = null
Подробное описание методов
__call() публичный метод
Позволяет выполнять все поддерживаемые команды с помощью магических методов.
$redis->hmset('test_collection', 'key1', 'val1', 'key2', 'val2')
| public mixed __call ( $name, $params ) | ||
|---|---|---|
| $name | string |
Имя отсутствующего метода для выполнения |
| $params | array |
Аргументы вызова метода |
__sleep() публичный метод
Закрывает соединение при сериализации этого компонента.
| public array __sleep ( ) |
|---|
close() публичный метод
Закрывает текущее активное соединение с базой данных.
Не выполняет никаких действий, если соединение уже закрыто.
| public void close ( ) |
|---|
executeCommand() публичный метод
Выполняет команду Redis.
Список доступных команд и их параметров см. на http://redis.io/commands.
Массив параметров должен содержать параметры, разделенные пробелами, например, для выполнения SET mykey somevalue NX вызовите следующее:
$redis->executeCommand('SET', ['mykey', 'somevalue', 'NX']);
| public array|boolean|null|string executeCommand ( $name, $params = [] ) | ||
|---|---|---|
| $name | string |
Имя команды |
| $params | array |
Список параметров для команды |
| return | array|boolean|null|string |
В зависимости от выполненной команды, этот метод вернет различные типы данных:
См. описание протокола Redis для получения подробной информации о перечисленных типах ответов. |
| throws | yii\db\Exception |
для команд, возвращающих ошибочный ответ. |
getDriverName() публичный метод
Возвращает имя драйвера БД для текущего \yii\redis\dsn.
| public string getDriverName ( ) | ||
|---|---|---|
| return | string |
Имя драйвера БД |
getIsActive() публичный метод
Возвращает значение, указывающее, установлено ли соединение с базой данных.
| public boolean getIsActive ( ) | ||
|---|---|---|
| return | boolean |
Установлено ли соединение с базой данных |
getLuaScriptBuilder() публичный метод
| public yii\redis\LuaScriptBuilder getLuaScriptBuilder ( ) |
|---|
initConnection() защищённый метод
Инициализирует соединение с базой данных.
Этот метод вызывается сразу после установления соединения с базой данных. Стандартная реализация срабатывает событием EVENT_AFTER_OPEN.
| protected void initConnection ( ) |
|---|
open() публичный метод
Устанавливает соединение с базой данных.
Не выполняет никаких действий, если соединение с базой данных уже установлено.
| public void open ( ) | ||
|---|---|---|
| throws | yii\db\Exception |
в случае неудачи подключения |
Подробное описание событий
EVENT_AFTER_OPEN событие типа \yii\redis\Event
Событие, которое срабатывает после установления соединения с базой данных
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-redis-connection.html