Класс yii\redis\Session
| Наследование | yii\redis\Session » yii\web\Session » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | ArrayAccess, Countable, IteratorAggregate, yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-redis/blob/master/Session.php |
Сессия Redis реализует компонент сессии, используя redis в качестве среды хранения.
Для корректной работы сессии Redis требуется версия redis 2.6.12 или выше.
Она должна быть настроена с помощью yii\redis\Connection redis, который также настроен как компонент приложения. По умолчанию она будет использовать компонент приложения redis.
Для использования сессии redis в качестве компонента приложения сессий, настройте приложение следующим образом,
[
'components' => [
'session' => [
'class' => 'yii\redis\Session',
'redis' => [
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
]
],
],
]
Или, если вы настроили yii\redis\Connection redis как компонент приложения, достаточно следующего:
[
'components' => [
'session' => [
'class' => 'yii\redis\Session',
// 'redis' => 'redis' // id of the connection application component
],
],
]
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $allFlashes | массив | Сообщения всплывающих подсказок (ключ => сообщение или ключ => [сообщение1, сообщение2]). | yii\web\Session |
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений. | yii\base\Component |
| $cookieParams | массив | Параметры куки сессии. | yii\web\Session |
| $count | целое число | Количество переменных сессии. | yii\web\Session |
| $flash | строка | Ключ, идентифицирующий сообщение всплывающей подсказки. | yii\web\Session |
| $flashParam | строка | Имя переменной сессии, хранящей данные сообщения всплывающей подсказки. | yii\web\Session |
| $gCProbability | число с плавающей точкой | Вероятность (процент), что процесс GC (уборки мусора) запускается при каждом инициализации сессии, по умолчанию равно 1, означая 1% вероятность. | yii\web\Session |
| $handler | SessionHandlerInterface|массив | Объект, реализующий SessionHandlerInterface, или массив конфигурации. | yii\web\Session |
| $hasSessionId | логическое значение | Присутствует ли в текущем запросе идентификатор сессии. | yii\web\Session |
| $id | строка | Текущий идентификатор сессии. | yii\web\Session |
| $isActive | логическое значение | Начата ли сессия. | yii\web\Session |
| $iterator | yii\web\SessionIterator | Итератор для обхода переменных сессии. | yii\web\Session |
| $keyPrefix | строка | Строка-префикс к каждому ключу кэша, чтобы он был уникальным. | yii\redis\Session |
| $name | строка | Текущее имя сессии. | yii\web\Session |
| $redis | yii\redis\Connection|строка|массив | Объект yii\redis\Connection Redis или идентификатор компонента приложения yii\redis\Connection Redis. | yii\redis\Session |
| $savePath | строка | Текущий путь сохранения сессии, по умолчанию '/tmp'. | yii\web\Session |
| $timeout | целое число | Количество секунд, после которых данные будут считаться «мусором» и очищены. | yii\web\Session |
| $useCookies | логическое значение|null | Значение, указывающее, следует ли использовать куки для хранения идентификаторов сессий. | yii\web\Session |
| $useCustomStorage | логическое значение | Использовать ли пользовательское хранилище. | yii\redis\Session |
| $useTransparentSessionID | логическое значение | Включена ли поддержка прозрачного идентификатора sid или нет, по умолчанию false. | yii\web\Session |
Публичные методы
| Метод | Описание | Определён в |
|---|---|---|
| __call() | Вызов именованного метода, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| addFlash() | Добавляет сообщение всплывающей подсказки. | yii\web\Session |
| 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\web\Session |
| closeSession() | Обработчик закрытия сессии. | yii\web\Session |
| count() | Возвращает количество элементов в сессии. | yii\web\Session |
| destroy() | Освобождает все переменные сессии и уничтожает все данные, зарегистрированные в сессии. | yii\web\Session |
| destroySession() | Обработчик уничтожения сессии. | yii\redis\Session |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| gcSession() | Обработчик GC (уборки мусора) сессии. | yii\web\Session |
| get() | Возвращает значение переменной сессии по имени переменной сессии. | yii\web\Session |
| getAllFlashes() | Возвращает все сообщения всплывающей подсказки. | yii\web\Session |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикреплённые к этому компоненту поведения. | yii\base\Component |
| getCookieParams() | yii\web\Session | |
| getCount() | Возвращает количество элементов в сессии. | yii\web\Session |
| getFlash() | Возвращает сообщение всплывающей подсказки. | yii\web\Session |
| getGCProbability() | yii\web\Session | |
| getHasSessionId() | Возвращает значение, указывающее, передал ли текущий запрос идентификатор сессии. | yii\web\Session |
| getId() | Получает идентификатор сессии. | yii\web\Session |
| getIsActive() | yii\web\Session | |
| getIterator() | Возвращает итератор для обхода переменных сессии. | yii\web\Session |
| getName() | Получает имя текущей сессии. | yii\web\Session |
| getSavePath() | Получает текущий путь сохранения сессии. | yii\web\Session |
| getTimeout() | yii\web\Session | |
| getUseCookies() | Возвращает значение, указывающее, следует ли использовать куки для хранения идентификаторов сессии. | yii\web\Session |
| getUseCustomStorage() | Возвращает значение, указывающее, следует ли использовать пользовательское хранилище сессий. | yii\redis\Session |
| getUseTransparentSessionID() | yii\web\Session | |
| has() | yii\web\Session | |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasFlash() | Возвращает значение, указывающее, есть ли сообщения всплывающей подсказки, связанные с указанным ключом. | yii\web\Session |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует компонент redis Session. | yii\redis\Session |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offsetExists() | Этот метод необходим для интерфейса ArrayAccess. | yii\web\Session |
| offsetGet() | Этот метод необходим для интерфейса ArrayAccess. | yii\web\Session |
| offsetSet() | Этот метод необходим для интерфейса ArrayAccess. | yii\web\Session |
| offsetUnset() | Этот метод необходим для интерфейса ArrayAccess. | yii\web\Session |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| open() | Инициализирует сессию. | yii\web\Session |
| openSession() | Обработчик открытия сессии. | yii\web\Session |
| readSession() | Обработчик чтения сессии. | yii\redis\Session |
| regenerateID() | Обновляет текущий идентификатор сессии новым сгенерированным. | yii\web\Session |
| remove() | Удаляет переменную сессии. | yii\web\Session |
| removeAll() | Удаляет все переменные сессии. | yii\web\Session |
| removeAllFlashes() | Удаляет все сообщения вспышки. | yii\web\Session |
| removeFlash() | Удаляет сообщение вспышки. | yii\web\Session |
| set() | Добавляет переменную сессии. | yii\web\Session |
| setCookieParams() | Устанавливает параметры куки сессии. | yii\web\Session |
| setFlash() | Устанавливает сообщение вспышки. | yii\web\Session |
| setGCProbability() | yii\web\Session | |
| setHasSessionId() | Устанавливает значение, указывающее, отправил ли текущий запрос идентификатор сессии. | yii\web\Session |
| setId() | Устанавливает идентификатор сессии. | yii\web\Session |
| setName() | Устанавливает имя для текущей сессии. | yii\web\Session |
| setSavePath() | Устанавливает текущий путь сохранения сессии. | yii\web\Session |
| setTimeout() | yii\web\Session | |
| setUseCookies() | Устанавливает значение, указывающее, должны ли использоваться куки для хранения идентификаторов сессий. | yii\web\Session |
| setUseTransparentSessionID() | yii\web\Session | |
| trigger() | Вызывает событие. | yii\base\Component |
| writeSession() | Обработчик записи сессии. | yii\redis\Session |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| calculateKey() | Генерирует уникальный ключ, используемый для хранения данных сессии в кэше. | yii\redis\Session |
| registerSessionHandler() | Регистрирует обработчик сессий. | yii\web\Session |
| updateFlashCounters() | Обновляет счетчики для сообщений вспышки и удаляет устаревшие сообщения вспышки. | yii\web\Session |
Подробное описание свойств
$keyPrefix общественное свойство
Строка-префикс, добавляемая к каждому ключу кэша для его уникальности. Если не задано, используется префикс, сгенерированный из \yii\redis\Application::id. Можно установить это свойство в пустую строку, если не требуется префикс ключа. Рекомендуется явно установить это свойство в некоторое статическое значение, если данные кэша должны быть совместно доступны нескольким приложениям.
public string $keyPrefix = null
$redis общественное свойство
Объект Redis yii\redis\Connection или идентификатор компонента приложения Redis yii\redis\Connection. Также может быть массивом, используемым для создания экземпляра Redis yii\redis\Connection, в случае если не нужно настраивать соединение Redis как компонент приложения. После создания объекта Session, если вы хотите изменить это свойство, нужно присвоить ему объект Redis yii\redis\Connection.
public yii\redis\Connection|string|array $redis = 'redis'
$useCustomStorage общественное только для чтения свойство
Использовать ли пользовательское хранилище.
public boolean getUseCustomStorage ( )
Подробное описание методов
calculateKey() защищенный метод
Генерирует уникальный ключ для хранения данных сессии в кэше.
| protected string calculateKey ( $id ) | ||
|---|---|---|
| $id | string |
Имя переменной сессии |
| return | string |
Безопасный ключ кэша, связанный с именем переменной сессии |
destroySession() общественный метод
Обработчик уничтожения сессии.
Не вызывать этот метод напрямую.
| public boolean destroySession ( $id ) | ||
|---|---|---|
| $id | string |
Идентификатор сессии |
| return | boolean |
Успешно ли уничтожена сессия |
getUseCustomStorage() общественный метод
Возвращает значение, указывающее, использовать ли пользовательское хранилище сессии.
Этот метод переопределяет реализацию родительского класса и всегда возвращает true.
| public boolean getUseCustomStorage ( ) | ||
|---|---|---|
| return | boolean |
Использовать ли пользовательское хранилище. |
init() общественный метод
Инициализирует компонент Redis Session.
Этот метод инициализирует свойство $redis, чтобы убедиться, что оно ссылается на валидное соединение с Redis.
| public void init ( ) | ||
|---|---|---|
| throws | yii\base\InvalidConfigException |
если $redis не валидный. |
readSession() общественный метод
Обработчик чтения сессии.
Не вызывать этот метод напрямую.
| public string readSession ( $id ) | ||
|---|---|---|
| $id | string |
Идентификатор сессии |
| return | string |
Данные сессии |
writeSession() общественный метод
Обработчик записи сессии.
Не вызывать этот метод напрямую.
| public boolean writeSession ( $id, $data ) | ||
|---|---|---|
| $id | string |
Идентификатор сессии |
| $data | string |
Данные сессии |
| return | boolean |
Успешно ли выполнена запись сессии |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-redis-session.html