私はDjangoのPythonでMySQLdbモジュールでMySQLを使用しています。
この場合、オートコミット モードで実行しています (そして、Django の transaction.is_managed() は実際には False を返します)。
データベースとやり取りするプロセスがいくつかあります。
Task.objects.all() を使用して、1 つのプロセスですべての Task モデルをフェッチします。
次に、別のプロセスがタスク モデルを追加します (データベース管理アプリケーションで確認できます)。
最初のプロセスで Task.objects.all() を呼び出しても、何も表示されません。しかし、connection._commit() を呼び出してから Task.objects.all() を呼び出すと、新しいタスクが表示されます。
私の質問は次のとおりです。接続レベルでキャッシュが含まれていますか? そして、それは正常な動作ですか(私には思えません)?