MySQL 삽입 및 삭제 후 캐시된 결과
Python/WSGI 웹 앱에서 세션은 로컬 MySQL의 InnoDB 테이블에 저장됩니다. 데이터 베이스. 인증 후에는 이전 세션이 삭제되고 새 세션이 생성되며 트랜잭션이 커밋되어 쿠키에 대한 새 세션 ID를 생성합니다. 그러나 리디렉션 후에 새로 생성된 세션을 데이터베이스에서 찾을 수 없는 경우가 있습니다.
문제 이해
MySQL은 기본 격리 수준인 "REPEATABLE READ"를 사용합니다. 트랜잭션은 트랜잭션이 시작된 후에 변경된 사항을 볼 수 없습니다. 해당 변경 사항이 커밋되더라도 보이지 않는 상태로 유지됩니다.
해결 방법
이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.
종료 트랜잭션:
격리 수준 변경:
추가 고려 사항
MySQL 매뉴얼을 확인하세요. 기본 격리 수준을 수정하는 옵션입니다. 이렇게 하면 모든 세션이 기본 격리 수준을 자동으로 사용할 수 있습니다.
위 내용은 새로 생성된 MySQL 세션이 트랜잭션 후 즉시 표시되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!