多次運算元據的時候可能會操作到其他的 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 協議》,轉載必須註明作者和本文連結