Nguyên nhân thông thường khiến mọi người nghĩ rằng có một "bộ nhớ cache" đang hoạt động, bên cạnh bản đồ nhận dạng SQLAlchemy thông thường là cục bộ của một giao dịch, là họ đang quan sát các tác động của việc cô lập giao dịch. Phiên của SQLAlchemy hoạt động theo mặc định trong chế độ giao dịch, có nghĩa là nó đợi cho đến khi session.commit()
được gọi để duy trì dữ liệu vào cơ sở dữ liệu. Trong thời gian này, các giao dịch khác đang được thực hiện ở nơi khác sẽ không thấy dữ liệu này.
Tuy nhiên, do tính chất riêng biệt của các giao dịch, có thêm một sự thay đổi. Những giao dịch khác đang diễn ra đó sẽ không chỉ không nhìn thấy dữ liệu giao dịch của bạn cho đến khi nó được cam kết mà còn không thể thấy dữ liệu đó trong một số trường hợp cho đến khi chúng được cam kết hoặc khôi phục lại cũng (hiệu ứng tương tự mà đóng () của bạn đang có ở đây). Một giao dịch có mức độ cô lập trung bình sẽ giữ trạng thái mà nó đã tải cho đến nay và tiếp tục cung cấp cho bạn cùng trạng thái đó cục bộ cho giao dịch mặc dù dữ liệu thực đã thay đổi - đây được gọi là lần đọc có thể lặp lại theo cách nói cách ly giao dịch.
http://en.wikipedia.org/wiki/Isolation_%28database_systems%29