An open API service indexing awesome lists of open source software.

https://github.com/domm/catalyst-plugin-session-store-redis

fork of Catalyst-Plugin-Session-Store-Redis-0.05
https://github.com/domm/catalyst-plugin-session-store-redis

Last synced: 7 months ago
JSON representation

fork of Catalyst-Plugin-Session-Store-Redis-0.05

Awesome Lists containing this project

README

          

# NAME

Catalyst::Plugin::Session::Store::Redis - Redis Session store for Catalyst

# VERSION

version 0.901

# SYNOPSIS

use Catalyst qw/
Session
Session::Store::Redis
Session::State::Foo
/;

MyApp->config->{Plugin::Session} = {
expires => 3600,
redis_server => '127.0.0.1:6379',
redis_debug => 0, # or 1!
redis_reconnect => 0, # or 1
redis_db => 5, # or 0 by default
redis_ssl => 1, # or 0
redis_name => 'name',
redis_username => 'username', # or default user
redis_password => 'password',
redis_ssl_verify_mode => SSL_VERIFY_PEER, # IO::Socket::SSL
};

# ... in an action:
$c->session->{foo} = 'bar'; # will be saved

# DESCRIPTION

`Catalyst::Plugin::Session::Store::Redis` is a session storage plugin for
Catalyst that uses the Redis ([http://redis.io/](http://redis.io/)) key-value
database.

## CONFIGURATION

### redis\_server

The IP address and port where your Redis is running. Default: 127.0.0.1:6379

### redis\_debug

Boolean flag to turn Redis debug messages on/off. Default: 0, i.e. off

Turing this on will cause the Redis Perl bindings to output debug
messages to STDOUT. This setting does not influence the logging this
module does via `$c->log`

### redis\_reconnect

Boolean flag. Default: 0, i.e. off.

It is highly recommended that you enable this setting. If set to `0`,
your app might not be able to reconnect to `Redis` if the `Redis`
server was restarted.

I leave the default of setting at `0` for now because changing it
might break existing apps.

Do not use this setting with authentication.

### redis\_conservative\_reconnect

Boolean flag. Default: 0, i.e. off.

Use this setting for reconnect with authentication.

### redis\_ssl

Boolean flag. Default: 0, i.e. off.

You can connect to Redis over SSL/TLS by setting this flag if the
target Redis server or cluster has been setup to support SSL/TLS.
This requires [IO::Socket::SSL](https://metacpan.org/pod/IO%3A%3ASocket%3A%3ASSL) to be installed on the client. It's off by default.

### redis\_ssl\_verify\_mode

This parameter will be applied when `redis_ssl` flag is set. It sets
the verification mode for the peer certificate. It's compatible with
the parameter with the same name in [IO::Socket::SSL](https://metacpan.org/pod/IO%3A%3ASocket%3A%3ASSL).

### redis\_name

Setting a different name for the connection.

### redis\_username

The username for the authentication

### redis\_password

The password, if your Redis server requires authentication.

# NOTES

- **Expired Sessions**

This store does **not** automatically expires sessions. There is no need to
call `delete_expired_sessions` to clear any expired sessions.

domm: No idea what this means.

- **session expiry**

Currently this module does not use `Redis` Expiry to clean out old
session. I might look into this in the future. But patches are welcome!

# AUTHORS

Cory G Watson, ``

## Current Maintainer

Thomas Klausner `domm@cpan.org`

## Contributors

- Andreas Granig [https://github.com/agranig](https://github.com/agranig)
- Mohammad S Anwar [https://github.com/manwar](https://github.com/manwar)
- Torsten Raudssus [https://github.com/Getty](https://github.com/Getty)

# AUTHOR

Thomas Klausner

# COPYRIGHT AND LICENSE

This software is copyright (c) 2016 - 2021 by Thomas Klausner.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.