itryit / laravel-ps-redis
laravel 5.*的简单哨兵/Redis驱动封装。为jamescauwelier/psredis重写。
v2.2
2015-12-25 10:12 UTC
Requires
- php: >=5.4.0
- illuminate/support: 5.*
- jamescauwelier/psredis: ~1.1
Requires (Dev)
- laravel/framework: 5.*
- mockery/mockery: 0.9.*@dev
- phpunit/phpunit: 4.*
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
- 进行分支(fork it)
- 创建您的功能分支(git checkout -b my-new-feature)
- 提交您的更改(git commit -m 'Added some feature')
- 将分支推送到远程(git push origin my-new-feature)
- 创建新的 Pull Request
./vendor/bin/phpunit -c ./phpunit.xml
## 许可证 [The MIT License (MIT)](https://github.com/iTryIt/laravel-PSRedis/blob/master/LICENSE)