【问题标题】:laravel redis database parameterlaravel redis 数据库参数
【发布时间】:2018-10-19 23:02:51
【问题描述】:
'redis' => [

    'client' => 'predis',

    'default' => [
        'host' => env('REDIS_HOST', 'redis'),
        'password' => env('REDIS_PASSWORD', 'secret'),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
    ], 

  'session' => [
            'host' => env('REDIS_HOST', 'redis'),
            'password' => env('REDIS_PASSWORD', 'secret'),
            'port' => env('REDIS_PORT', 6379),
            'database' => 1,
        ],

谁能解释 config/database.php 文件中的数据库参数,我对这个参数一无所知,因为它没有在文档中说明。

根据另一个网站,要设置会话使用redis驱动,需要添加另一个redis数据库,这个参数设置为1,但它指向同一个redis实例。我很困惑。

谢谢

编辑

基于对 redis 文档的更多挖掘,我得出了一个结论。如果我错了,请纠正我。

database参数表示放置在哪个redis数据库中。根据文档,Redis 默认有 16 个数据库。

CONFIG GET databases
1) "databases"
2) "16"

通过放置参数 database ,我们指示要使用哪个数据库,例如将所有会话密钥放置到数据库 1 而不是我们可以通过使用访问的数据库 0

SELECT db_number E.g SELECT 1 

请让我知道我的结论是正确还是错误。谢谢=)

【问题讨论】:

    标签: php laravel redis


    【解决方案1】:

    如您所说,一个 redis 实例有多个数据库。 database 参数告诉 redis 在实例中使用哪个数据库。 实例在“host”中定义。

    您不需要在代码级别使用“select”选择数据库,因为您已在配置中声明了数据库。

    如果省略“database”参数,则将使用默认的“0”数据库。

    如果您想使用多个数据库(例如缓存到一个数据库,会话到另一个),那么您需要在配置中创建多个连接。

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 2019-10-29
      • 2020-11-27
      • 2015-05-01
      • 2015-06-18
      • 1970-01-01
      • 2021-07-02
      • 2016-08-12
      • 2011-06-10
      相关资源
      最近更新 更多