itryit/laravel-ps-redis

laravel 5.*的简单哨兵/Redis驱动封装。为jamescauwelier/psredis重写。

v2.2 2015-12-25 10:12 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:03:09 UTC


README

laravel的简单哨兵/Redis驱动封装。

默认的laravel redis驱动支持redis集群,但不支持与redis的高可用性,这正是Laravel-PSRedis发挥作用的地方。

使用Laravel-PSRedis,您将获得所有laravel redis的魔法,例如Redis::set()Redis::get(),甚至可以使用redis实现会话、队列和缓存支持,您将能够利用高可用性的redis实例而不是简单的集群。

我们通过询问您的Redis哨兵您的master位置,在IOC容器中创建Redis绑定之前来完成这个操作。通过这种方式,我们确保您的应用程序与redis实例建立连接时,连接到的是master。

README内容

## 安装 ### Laravel 5 的安装

您可以使用 composer 轻松安装 Laravel-PSRedis。

 "require": { "itryit/laravel-ps-redis": "v2.2", }, 
## 配置

接下来,只需在您的应用中已经存在的 app/config/database.php 配置文件中填写您的 sentinel/redis 服务器信息。

您的数据库配置文件可能已经包含一些默认的 Laravel 配置值,如下所示。

/* |-------------------------------------------------------------------------- | Redis 数据库 |-------------------------------------------------------------------------- | | Redis 是一个开源的、快速的高级键值存储系统,它也提供了一套比典型的键值系统(如 APC 或 Memcached)更丰富的命令。Laravel 使得使用 Redis 变得非常容易。 | */ 'redis' => [ 'cluster' => false, 'default' => [ 'host' => '127.0.0.1', 'port' => 6379, 'database' => 0, ], ], 

只需用以下值覆盖这些设置,并填写您的服务器信息。

 /** redisConfigName 配置自版本 2.2 开始支持 */ 'redisConfigName' => 'redis', // 您的 redis 设置键名,'redis' 为默认值,这将与旧版本兼容 'redis' => [ /** redis 节点集名称 */ 'nodeSetName' => 'your-sentinel-node-set-name', 'cluster' => false, /** 数据库配置自版本 2.1 开始支持 */ 'database' => 0, // Redis 数据库选择 /** 监视器的数组 */ 'masters' => [ [ 'host' => 'sentinel-instance.domain.com', 'port' => '26379', ], [ 'host' => 'sentinel-instance.domain.com', 'port' => '26379', ] ], /** 如果我们无法连接到主节点,等待和重试的时间 */ 'backoff-strategy' => [ 'max-attempts' => 10, // 寻找主节点的最大尝试次数 'wait-time' => 500, // 下一次尝试等待的毫秒数 'increment' => 1.5, // 每次尝试增加的退避时间乘数 ] ]; 
### 服务提供者

最后,您只需要将服务提供者添加到 app.php 中的 providers 数组中,并注释或删除 redis 服务提供者。

 /* |-------------------------------------------------------------------------- | 已自动加载的服务提供者 |-------------------------------------------------------------------------- | */ 'providers' => [ ... // 'Illuminate\Redis\RedisServiceProvider', # 注释掉这一行 'Itryit\LaravelPSRedisHelper\LaravelPSRedisServiceProvider' # 添加这一行 ], 

注意:在添加服务提供者后,您可能需要执行 composer dump-autoload

## 贡献

  1. 进行分支(fork it)
  2. 创建您的功能分支(git checkout -b my-new-feature)
  3. 提交您的更改(git commit -m 'Added some feature')
  4. 将分支推送到远程(git push origin my-new-feature)
  5. 创建新的 Pull Request
## 测试

您可以自由地克隆仓库并本地运行单元测试。

 ./vendor/bin/phpunit -c ./phpunit.xml 
## 许可证 [The MIT License (MIT)](https://github.com/iTryIt/laravel-PSRedis/blob/master/LICENSE)