Redis

Reids 即可当做数据库使用,也可当做缓存使用。启用 Redis 服务,需安装 PHPRedis 扩展(请安装3.1.2以上版本)。框架集成了 Redis 服务,可通过以下方式启用:

  1. $biz->register(new Biz\Frameowrk\Provider\RedisServiceProvider(), array(
  2. 'redis.options' => array(
  3. 'host' => '127.0.0.1:6379',
  4. 'password' => '',
  5. 'timeout' => 2,
  6. 'retry_interval' => 100,
  7. 'prefix' => '',
  8. ),
  9. ));

通过 $biz['redis'] 即可获得 Redis 实例。如 host 中配置了多个 host ,那么 $biz['redis] 将返回 RedisArray 实例。RedisArrayRedis 类的接口基本一致,具体可参见 phpredis 官方文档

参数说明

redis.options 为 Redis 的配置项数组,配置项有:

  • host: Redis 的主机名,格式为 地址:端口号。多个地址则以逗号隔开,如 地址1:端口号1,地址2:端口号2,使用多个地址,那么 $biz['redis'] 会返回 RedisArray 对象。
  • password: 密码,默认为空。
  • timeout: 连接超时时间,默认2秒。
  • retry_interval: 连接失败后,重连间隔时间,默认100ms。
  • prefix: Key的前缀,默认为空。

多个Redis池

在读写分离、业务模块独立Redis等场景下,需要应用程序支持多个互相独立的Redis池,一个池可以由一个或多个Redis服务实例组成。通过以下方式启用多个Redis池:

  1. $biz->register(new Biz\Frameowrk\Provider\RedisServiceProvider(), array(
  2. 'mult_redis.options' => array(
  3. 'write' => array (
  4. 'host' => '127.0.0.1:6379',
  5. 'password' => '',
  6. 'timeout' => 2,
  7. 'retry_interval' => 100,
  8. 'prefix' => '',
  9. ),
  10. 'read' => array (
  11. 'host' => '127.0.0.1:6380,127.0.0.1:6381',
  12. 'password' => '',
  13. 'timeout' => 2,
  14. 'retry_interval' => 100,
  15. 'prefix' => '',
  16. ),
  17. ),
  18. ));

通过 $biz['redis']['write'] 获取上述6379端口的 Redis 对象实例,$biz['redis']['read'] 获取上述6380/6381端口的 RedisArray 对象实例。