非常 / laravel-phpredis
此包已被废弃且不再维护。未建议替代包。
在Laravel中使用phpredis作为redis连接
v1.1.5
2017-01-13 09:04 UTC
Requires
- ext-redis: *
README
在Laravel中使用phpredis作为redis连接,支持重试连接 要求
- PHP 5.5.9+
- PhpRedis
- Laravel 5.2.x
安装
首先,当然,确保服务器上已安装PhpRedis。有关安装说明,请参阅此处。
将依赖项添加到 composer.json
"require": {
"very/laravel-phpredis": "1.*"
}
将 RedisServiceProvider
添加到 config/app.php
(注释掉内置的 RedisServiceProvider
)
...
'providers' => array(
...
// 'Illuminate\Redis\RedisServiceProvider',
'Very\Redis\RedisServiceProvider',
...
),
...
默认的Facade别名与PhpRedis提供的Redis类冲突。为了修复此问题,请在 config/app.php
中重命名别名
...
'aliases' => array(
...
'Redis' => 'Illuminate\Support\Facades\Redis',
...
),
...
不幸的是,副作用是您现在需要调用Redis函数,如 Redis::connection()
,这看起来不那么优雅,但一切仍然按原样工作(您可以像往常一样调用Redis命令,例如 Redis::get('key')
)。
最后运行 composer update
以更新和安装一切。
选项
配置就像Laravel中Redis的默认配置一样。实际上,您可以在不更改配置的情况下在PhpRedis和Predis之间切换(不过对于集群或序列化没有保证)。
所有选项都是可选的,您可以通过指定空数组来获取默认的连接配置
'redis' => array(
'cluster' => true, // if true a RedisCluster will be created
'default' => array(
'host' => '127.0.0.1', // default: '127.0.0.1'
'port' => 6379, // default: 6379
'password' => password // default: null
'prefix' => 'myapp:', // default: ''
'database' => 7, // default: 0
'timeout' => 0.5, // default: 0 (no timeout)
'serializer' => 'igbinary' // default: 'none', possible values: 'none', 'php', 'igbinary'
),
),
唯一一个不是自解释的选项是 serializer
选项。这些值直接对应于PhpRedis中的 Redis::SERIALIZER_*
常量。如果您指定 igbinary
,则如果PhpRedis通过 --enable-redis-igbinary
编译,则igbinary将用作序列化器,否则将回退到PHP的内置序列化器。