colourbox / simplesamlphp-module-redis
一个用于使用Redis进行会话存储等的SimpleSAMLphp模块。
1.1.0
2017-03-17 14:04 UTC
Requires
- php: ^5.4 || ^7.0
- predis/predis: ~1.0
- simplesamlphp/composer-module-installer: ^1.1
Requires (Dev)
- mayflower/php-codebrowser: ~1.1
- pdepend/pdepend: ~2.0
- phploc/phploc: ~2.0
- phpmd/phpmd: ~2.1
- phpunit/php-invoker: ~1.1
- phpunit/phpunit: ~4.4
- sebastian/phpcpd: ~2.0
- sensiolabs/security-checker: ~2.0
- simplesamlphp/simplesamlphp: ^1.14
- squizlabs/php_codesniffer: ~2.2
- theseer/phpdox: ~0.7
README
简介
Redis模块实现了simpleSAMLphp数据存储API,因此Redis可以用作后端存储,即会话存储。
先决条件
此模块需要以下内容
- simpleSAMLphp v. 1.14.11(与旧版本兼容,但建议更新)
- Redis服务器,更多信息请参见https://redis.ac.cn/
安装
首先要做的是设置你的Redis服务器。这超出了本文档的范围。
然后你必须通过获取tarball或通过composer安装此模块。后者是推荐的
composer.phar require colourbox/simplesamlphp-module-redis
这将自动安装"predis/predis"作为模块的依赖。如果你自己下载了模块,请记住在composer.json中添加predis/predis作为依赖项。
有关如何通过composer安装simpleSAMLphp模块的更多信息,请参见https://github.com/simplesamlphp/composer-module-installer
现在你可以通过以下方式启用该模块
touch /var/simplesamlphp/modules/redis/enable
创建/var/simplesamlphp/config/module_redis.php
,并设置适合你的Redis服务器的适当选项。配置文件模板可以在以下位置找到
通过在config.php中设置以下选项,Redis被用作simpleSAMLphp的会话存储
'store.type' => 'redis:Redis'
配置选项
parameters
基于predis客户端的连接参数。有关详细信息,请参阅连接参数options
基于predis客户端的客户端选项。有关详细信息,请参阅选项prefix
存储在Redis中所有键的键前缀lifetime
Redis中非过期键的默认生命周期oldHost
当进行滚动更新时的旧Redis主机配置parameters
基于predis客户端的连接参数options
基于predis客户端的客户端选项
示例
$config = [
// Predis client parameters
'parameters' => 'tcp://:6379',
// Predis client options
'options' => null,
// Key prefix
'prefix' => 'simpleSAMLphp',
// Lifitime for all non expiring keys
'lifetime' => 288000
];
滚动到新服务器
此模块内置了对滚动更新到新Redis主机的支持。所有写操作都只对新主机进行,但如果新主机上找不到值,则所有读操作都将回退到旧主机。
如何做
- 启动新的Redis主机
- 将新主机添加到配置文件(
parameters
和options
),并将旧主机添加到oldHost
选项中 - 等待最大会话生命周期到期
- 删除
oldHost
配置 - 关闭旧Redis主机
配置示例
$config = [
// Predis client parameters
'parameters' => 'tcp://newhost:6379',
// Predis client options
'options' => null,
// Old host
'oldHost' => [
// Predis client parameters
'parameters' => 'tcp://oldhost:6379',
// Predis client options
'options' => null,
],
// Key prefix
'prefix' => 'simpleSAMLphp',
// Lifitime for all non expiring keys
'lifetime' => 288000
];