定制 colourbox/simplesamlphp-module-redis 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

colourbox/simplesamlphp-module-redis

Composer 安装命令:

composer require colourbox/simplesamlphp-module-redis

包简介

A SimpleSAMLphp module for using Redis for session storage etc.

README 文档

README

Introduction

The Redis module implements the simpleSAMLphp data store API, so Redis can be used for backend storage, i.e. session storage.

Build Status

Prerequisites

This module requires the following

  • simpleSAMLphp v. 1.14.11 (Works with older version, but you should update)
  • Redis server, See https://redis.io/ for more information

Installation

First thing to do is to set up your Redis server(s). This is out side the scope of this documentation.

Next you must install this module either by either obtaining the tarball or by installing it via composer. The latter is recommended

composer.phar require colourbox/simplesamlphp-module-redis

This will automatically install "predis/predis" as a dependency for ther module. If you downloaded the module yourself, remember to add predis/predis as a dependency in your composer.json.

See https://github.com/simplesamlphp/composer-module-installer for more information on how to install simpleSAMLphp modules via composer.

You can now enable the module by

touch /var/simplesamlphp/modules/redis/enable

Create /var/simplesamlphp/config/module_redis.php and set appropriate options for your Redis server. A configuration file template can be found in the

Redis is used as session store for simpleSAMLphp by setting the following options in config.php

'store.type' => 'redis:Redis'

Configuration options

  • parameters Connection parameters for the underlying predis client. See connection parameters for details
  • options Client options for the underlying predis client. See options for details
  • prefix Key prefix for all keys stored in Redis
  • lifetime Default lifetime for non-expiring keys in Redis
  • oldHost configuration for old Redis host when doing rollover
    • parameters Connection parameters for the underlying predis client
    • options Client options for the underlying predis client

Example

$config = [
    // Predis client parameters
    'parameters' => 'tcp://localhost:6379',

    // Predis client options
    'options' => null,

    // Key prefix
    'prefix' => 'simpleSAMLphp',

    // Lifitime for all non expiring keys
    'lifetime' => 288000
];

Rollover to new server

The module has build in support for doing rolling update to a new Redis host. All writes are only done to the new host, but all reads will fall back to the old host if the value is not found on new host.

How-to

  • Start new Redis host
  • Add new host to config file (parameters and options) and add the old host to oldHost option
  • Wait until max session lifetime have expired
  • Remove oldHost config
  • Shut down old Redis host

Configuration example

$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
];

colourbox/simplesamlphp-module-redis 适用场景与选型建议

colourbox/simplesamlphp-module-redis 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 86.97k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2015 年 01 月 19 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「redis」 「store」 「simplesamlphp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 colourbox/simplesamlphp-module-redis 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 colourbox/simplesamlphp-module-redis 我们能提供哪些服务?
定制开发 / 二次开发

基于 colourbox/simplesamlphp-module-redis 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 86.97k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-01-19