Class yii\redis\Session
Inheritance | yii\redis\Session » yii\web\Session » yii\base\Component » yii\base\BaseObject |
---|---|
Implements | ArrayAccess, Countable, IteratorAggregate, yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2-redis/blob/master/Session.php |
Redis Session implements a session component using redis as the storage medium.
Redis Session requires redis version 2.6.12 or higher to work properly.
It needs to be configured with a redis yii\redis\Connection that is also configured as an application component.
By default it will use the redis
application component.
To use redis Session as the session application component, configure the application as follows,
[
'components' => [
'session' => [
'class' => 'yii\redis\Session',
'redis' => [
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
]
],
],
]
Or if you have configured the redis yii\redis\Connection as an application component, the following is sufficient:
[
'components' => [
'session' => [
'class' => 'yii\redis\Session',
// 'redis' => 'redis' // id of the connection application component
],
],
]
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$allFlashes | array | Flash messages (key => message or key => [message1, message2]). | yii\web\Session |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$cacheLimiter | string | yii\web\Session | |
$cookieParams | array | The session cookie parameters. | yii\web\Session |
$count | integer | The number of session variables | yii\web\Session |
$flash | string | The key identifying the flash message. | yii\web\Session |
$flashParam | string | The name of the session variable that stores the flash message data. | yii\web\Session |
$gCProbability | float | The probability (percentage) that the GC (garbage collection) process is started on every session initialization, defaults to 1 meaning 1% chance. | yii\web\Session |
$handler | SessionHandlerInterface|array | An object implementing the SessionHandlerInterface or a configuration array. | yii\web\Session |
$hasSessionId | boolean | Whether the current request has sent the session ID. | yii\web\Session |
$id | string | The current session ID | yii\web\Session |
$isActive | boolean | Whether the session has started | yii\web\Session |
$iterator | yii\web\SessionIterator | An iterator for traversing the session variables. | yii\web\Session |
$keyPrefix | string | A string prefixed to every cache key so that it is unique. | yii\redis\Session |
$name | string | The current session name | yii\web\Session |
$redis | yii\redis\Connection|string|array | The Redis yii\redis\Connection object or the application component ID of the Redis yii\redis\Connection. | yii\redis\Session |
$savePath | string | The current session save path, defaults to '/tmp'. | yii\web\Session |
$timeout | integer | The number of seconds after which data will be seen as 'garbage' and cleaned up. | yii\web\Session |
$useCookies | boolean|null | The value indicating whether cookies should be used to store session IDs. | yii\web\Session |
$useCustomStorage | boolean | Whether to use custom storage. | yii\redis\Session |
$useTransparentSessionID | boolean | Whether transparent sid support is enabled or not, defaults to false. | yii\web\Session |
Public Methods
Method | Description | Defined By |
---|---|---|
__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 |
addFlash() | Adds a flash message. | yii\web\Session |
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 |
close() | Ends the current session and store session data. | yii\web\Session |
closeSession() | Session close handler. | yii\web\Session |
count() | Returns the number of items in the session. | yii\web\Session |
destroy() | Frees all session variables and destroys all data registered to a session. | yii\web\Session |
destroySession() | Session destroy handler. | yii\redis\Session |
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 |
gcSession() | Session GC (garbage collection) handler. | yii\web\Session |
get() | Returns the session variable value with the session variable name. | yii\web\Session |
getAllFlashes() | Returns all flash messages. | yii\web\Session |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getCacheLimiter() | Returns current cache limiter | yii\web\Session |
getCookieParams() | yii\web\Session | |
getCount() | Returns the number of items in the session. | yii\web\Session |
getFlash() | Returns a flash message. | yii\web\Session |
getGCProbability() | yii\web\Session | |
getHasSessionId() | Returns a value indicating whether the current request has sent the session ID. | yii\web\Session |
getId() | Gets the session ID. | yii\web\Session |
getIsActive() | yii\web\Session | |
getIterator() | Returns an iterator for traversing the session variables. | yii\web\Session |
getName() | Gets the name of the current session. | yii\web\Session |
getSavePath() | Gets the current session save path. | yii\web\Session |
getTimeout() | yii\web\Session | |
getUseCookies() | Returns the value indicating whether cookies should be used to store session IDs. | yii\web\Session |
getUseCustomStorage() | Returns a value indicating whether to use custom session storage. | yii\redis\Session |
getUseTransparentSessionID() | yii\web\Session | |
has() | yii\web\Session | |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasFlash() | Returns a value indicating whether there are flash messages associated with the specified key. | yii\web\Session |
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 the redis Session component. | yii\redis\Session |
off() | Detaches an existing event handler from this component. | yii\base\Component |
offsetExists() | This method is required by the interface ArrayAccess. | yii\web\Session |
offsetGet() | This method is required by the interface ArrayAccess. | yii\web\Session |
offsetSet() | This method is required by the interface ArrayAccess. | yii\web\Session |
offsetUnset() | This method is required by the interface ArrayAccess. | yii\web\Session |
on() | Attaches an event handler to an event. | yii\base\Component |
open() | Starts the session. | yii\web\Session |
openSession() | Session open handler. | yii\web\Session |
readSession() | Session read handler. | yii\redis\Session |
regenerateID() | Updates the current session ID with a newly generated one. | yii\web\Session |
remove() | Removes a session variable. | yii\web\Session |
removeAll() | Removes all session variables. | yii\web\Session |
removeAllFlashes() | Removes all flash messages. | yii\web\Session |
removeFlash() | Removes a flash message. | yii\web\Session |
set() | Adds a session variable. | yii\web\Session |
setCacheLimiter() | Set cache limiter | yii\web\Session |
setCookieParams() | Sets the session cookie parameters. | yii\web\Session |
setFlash() | Sets a flash message. | yii\web\Session |
setGCProbability() | yii\web\Session | |
setHasSessionId() | Sets the value indicating whether the current request has sent the session ID. | yii\web\Session |
setId() | Sets the session ID. | yii\web\Session |
setName() | Sets the name for the current session. | yii\web\Session |
setSavePath() | Sets the current session save path. | yii\web\Session |
setTimeout() | yii\web\Session | |
setUseCookies() | Sets the value indicating whether cookies should be used to store session IDs. | yii\web\Session |
setUseTransparentSessionID() | yii\web\Session | |
trigger() | Triggers an event. | yii\base\Component |
writeSession() | Session write handler. | yii\redis\Session |
Protected Methods
Method | Description | Defined By |
---|---|---|
calculateKey() | Generates a unique key used for storing session data in cache. | yii\redis\Session |
freeze() | If session is started it's not possible to edit session ini settings. In PHP7.2+ it throws exception. | yii\web\Session |
registerSessionHandler() | Registers session handler. | yii\web\Session |
unfreeze() | Starts session and restores data from temporary variable | yii\web\Session |
updateFlashCounters() | Updates the counters for flash messages and removes outdated flash messages. | yii\web\Session |
Property Details
A string prefixed to every cache key so that it is unique. If not set, it will use a prefix generated from \yii\redis\Application::id. You may set this property to be an empty string if you don't want to use key prefix. It is recommended that you explicitly set this property to some static value if the cached data needs to be shared among multiple applications.
The Redis yii\redis\Connection object or the application component ID of the Redis yii\redis\Connection. This can also be an array that is used to create a redis yii\redis\Connection instance in case you do not want do configure redis connection as an application component. After the Session object is created, if you want to change this property, you should only assign it with a Redis yii\redis\Connection object.
Whether to use custom storage.
Method Details
Generates a unique key used for storing session data in cache.
protected string calculateKey ( $id ) | ||
$id | string | Session variable name |
return | string | A safe cache key associated with the session variable name |
---|
Session destroy handler.
Do not call this method directly.
public boolean destroySession ( $id ) | ||
$id | string | Session ID |
return | boolean | Whether session is destroyed successfully |
---|
Returns a value indicating whether to use custom session storage.
This method overrides the parent implementation and always returns true.
public boolean getUseCustomStorage ( ) | ||
return | boolean | Whether to use custom storage. |
---|
Initializes the redis Session component.
This method will initialize the $redis property to make sure it refers to a valid redis connection.
public void init ( ) | ||
throws | yii\base\InvalidConfigException | if $redis is invalid. |
---|
Session read handler.
Do not call this method directly.
public string readSession ( $id ) | ||
$id | string | Session ID |
return | string | The session data |
---|
Session write handler.
Do not call this method directly.
public boolean writeSession ( $id, $data ) | ||
$id | string | Session ID |
$data | string | Session data |
return | boolean | Whether session write is successful |
---|