MySQL 데이터베이스의 캐싱 문제: 삭제 및 삽입 후 오래된 데이터 검색
Python 웹 애플리케이션에서 사용자 세션 관리는 중요한 작업입니다. 그러나 MySQL 연결을 사용하는 특정 구현에서는 이전 세션을 삭제하고 새 세션을 생성했음에도 불구하고 일부 연결이 후속 데이터베이스 선택 중에 오래된 데이터를 검색하는 문제가 발생합니다. 이로 인해 세션 유효성 검사가 실패하고 사용자가 다시 로그인해야 합니다.
근본 원인
이 문제의 근본 원인은 MySQL의 기본 격리 수준인 " 반복해서 읽을 수 있습니다." 이 설정을 사용하면 해당 변경 사항이 커밋되었는지 여부에 관계없이 트랜잭션이 시작된 후 다른 연결에서 변경한 내용과 트랜잭션 내의 연결이 격리됩니다.
해결책
이 문제를 해결하려면 두 가지 주요 접근 방식이 있습니다.
종료 트랜잭션:
격리 수준 변경:
위 내용은 내 Python 웹 앱이 삭제 및 삽입에도 불구하고 MySQL에서 오래된 세션 데이터를 가져오는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!