MySQL の挿入と削除後にキャッシュされた結果
Python/WSGI Web アプリでは、セッションはローカル MySQL の InnoDB テーブルに保存されますデータベース。認証後、古いセッションが削除され、新しいセッションが作成され、トランザクションがコミットされて Cookie の新しいセッション ID が作成されます。ただし、新しく作成されたセッションがリダイレクト後にデータベースで見つからない場合があります。
問題の理解
MySQL はデフォルトの分離レベル「REPEATABLE READ」を使用します。トランザクションには、トランザクション開始後に加えられた変更は反映されません。これらの変更はコミットされたとしても、非表示のままです。
解決策
これを解決するには、2 つのオプションがあります:
終了トランザクション:
分離レベルの変更:
追加の考慮事項
MySQL マニュアルを確認してください。デフォルトの分離レベルを変更するオプションについては、これにより、すべてのセッションが優先分離レベルを自動的に使用できるようになります。
以上が新しく作成した MySQL セッションがトランザクション後にすぐに表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。