Laravel 使用 phpredis 扩展之后,出现指定 database 无效的情况。

多次操作数据的时候可能会操作到其他的 database 上面。
最后才发现是框架的问题。
版本号

Laravel Framework 5.7.28

这个目录下面

vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php

    /**
     * Create the Redis client instance.
     *
     * @param  array  $config
     * @return \Redis
     */
    protected function createClient(array $config)
    {
        return tap(new Redis, function ($client) use ($config) {
            $this->establishConnection($client, $config);

            if (! empty($config['password'])) {
                $client->auth($config['password']);
            }

            // 如果$config['database'] = 0 的话这里返回 false 尴尬所以就没有调用select方法。导致随意选择数据库。
            if (! empty($config['database'])) {
                $client->select($config['database']);
            }

            if (! empty($config['prefix'])) {
                $client->setOption(Redis::OPT_PREFIX, $config['prefix']);
            }

            if (! empty($config['read_timeout'])) {
                $client->setOption(Redis::OPT_READ_TIMEOUT, $config['read_timeout']);
            }
        });
    }
本作品采用《CC 协议》,转载必须注明作者和本文链接
宇宙最厉害
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!