【问题标题】:Different redis databases for cache and sessions in Laravel 4.2Laravel 4.2 中用于缓存和会话的不同 redis 数据库
【发布时间】:2016-01-29 15:32:36
【问题描述】:

我正在尝试摆脱文件缓存并改用 redis。我可以使用相同的 redis 数据库进行缓存和会话使其工作,但这意味着我无法在不丢失所有会话的情况下清除应用程序缓存,因此我想在同一服务器上的不同数据库上运行这两者。我的配置如下:

 database.php

      'redis' => array(

          'cluster' => false,

              'default' => array('host' => 'redisserverip', 'port' => 6379, 'database' => 0),
              'session' => array('host' => 'redisserverip', 'port' => 6379, 'database' => 1),

          ),

 cache.php

      'driver' => 'redis',
      'connection' => null,

 session.php

      'driver' => 'redis',          
      'connection' => 'session',

这不起作用,因为应用程序缓存和会话都被保存到第一个数据库中,而它应该在第 0 个和第一个数据库之间共享。这是 Laravel 中的错误还是我的配置有问题?

【问题讨论】:

    标签: php laravel caching laravel-4 redis


    【解决方案1】:

    我不认为这是一个错误,但从未引入连接到 Redis 服务器的选项,正如我在 Redis Class for Laravel 4.2 中看到的那样

    protected function createSingleClients(array $servers)
    {
        $clients = array();
        foreach ($servers as $key => $server)
        {
            $clients[$key] = new Client($server);
        }
        return $clients;
    }
    

    如果将其与 Redis Class for Laravel 5 进行比较,则会传递每个服务器的选项,因此支持该功能。

    protected function createSingleClients(array $servers)
    {
        $clients = array();
        $options = $this->getClientOptions($servers);
        foreach ($servers as $key => $server)
        {
            $clients[$key] = new Client($server, $options);
        }
        return $clients;
    }
    

    我考虑到,在您的示例中,您正在寻找 No cluster 选项。

    【讨论】:

    • 你是否建议如果我将 cluster 更改为 true 我可能能够实现我想要做的事情?
    • 不,我只是指出我展示的那些方法是连接到单个服务器。
    【解决方案2】:

    connection参数与redis无关,如配置文件cache.php

    所述

    当使用“database”缓存驱动时,你可以指定 应该用于存储缓存项目的连接。当这 选项为 nulldefault 数据库连接将用于 缓存。

    【讨论】:

    • 在 session.php 中可以指定 redis 连接的名称。 ""当使用 "database" 或 "redis" 会话驱动程序时,您可以指定一个用于管理这些会话的连接。""
    • true 但是这个在redis中你不能指定连接的名字,查看会话注释github.com/laravel/laravel/blob/v4.2.11/app/config/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2018-02-10
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多