缓存配置

缓存配置主要包括驱动配置和连接池配置。

驱动配置

缓存默认配置是redis,用户也可以在 app/config/beans/base.php 文件里面新增配置信息。

  1. return [
  2. // ......
  3. 'cache' => [
  4. 'class' => \Swoft\Cache\Cache::class,
  5. 'driver' => 'xxx',
  6. 'drivers' => [
  7. 'xxx' => \Swoft\Xxx::class
  8. ]
  9. ]
  10. ];
  • class 可有可以无的,框架底层已经配置
  • driver 当前缓存使用哪个驱动,默认是redis
  • drivers 配置自定义驱动,key是驱动名称

连接池配置

连接池配置有 properties 和 env 两种方式,但是 env 配置会覆盖 properties。

properties

app/config/properties/cache.php 配置文件

  1. return [
  2. 'redis' => [
  3. 'name' => 'redis',
  4. 'uri' => [
  5. 'tcp://127.0.0.1:6379?auth=password',
  6. 'tcp://127.0.0.1:6379',
  7. ],
  8. 'minActive' => 8,
  9. 'maxActive' => 8,
  10. 'maxWait' => 8,
  11. 'maxWaitTime' => 3,
  12. 'maxIdleTime' => 60,
  13. 'timeout' => 8,
  14. 'db' => 1,
  15. 'serialize' => 0,
  16. ],
  17. ];

参数说明:

  • name 连接池节点名称,用于服务发现
  • uri 连接地址信息
  • maxActive 最大活跃连接
  • maxWait 最大等待连接
  • minActive 最小活跃链接数
  • maxIdleTime 连接最大空闲时间,单位秒
  • maxWaitTime 连接最大等待时间,单位秒
  • timeout 超时时间,单位秒
  • serialize 是否序列化
  • db 缓存数据库index

TIPS: 当密码中含有特殊字符时,需先将密码部分urlencode一下,比如 auth=W&AAA 变换为 auth=W%26AAA

env配置

.env 配置文件

  1. REDIS_NAME=redis
  2. REDIS_DB=2
  3. REDIS_URI=127.0.0.1:6379,127.0.0.1:6379
  4. REDIS_MIN_ACTIVE=5
  5. REDIS_MAX_ACTIVE=10
  6. REDIS_MAX_WAIT=20
  7. REDIS_MAX_WAIT_TIME=3
  8. REDIS_MAX_IDLE_TIME=60
  9. REDIS_TIMEOUT=3
  10. REDIS_SERIALIZE=1
  • REDIS_NAME 连接池节点名称,用于服务发现
  • REDIS_URI 连接地址信息
  • REDIS_MIN_ACTIVE 最小活跃链接数
  • REDIS_MAX_ACTIVE 最大活跃连接数
  • REDIS_MAX_WAIT 最大等待连接
  • REDIS_MAX_WAIT_TIME 连接最大等待时间,单位秒
  • REDIS_MAX_IDLE_TIME 连接最大空闲时间,单位秒
  • REDIS_TIMEOUT 超时时间,单位秒
  • REDIS_SERIALIZE 是否序列化
  • REDIS_DB 缓存数据库index