Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да деактивирам кеширането на SQLAlchemy?

Обичайната причина хората да мислят, че има "кеш" в игра, освен обичайната карта на идентичност на SQLAlchemy, която е локална за транзакция, е, че наблюдават ефектите от изолирането на транзакциите. Сесията на SQLAlchemy работи по подразбиране в транзакционен режим, което означава, че изчаква до session.commit() се извиква, за да запази данните в базата данни. През това време други текущи транзакции на друго място няма да виждат тези данни.

Въпреки това, поради изолирания характер на транзакциите, има допълнителен обрат. Тези други транзакции в ход не само няма да видят данните на транзакцията ви, докато не бъдат ангажирани, но също така няма да могат да ги видят в някои случаи, докато не бъдат ангажирани или върнати назад също (което е същият ефект, който вашият close() има тук). Транзакция със средна степен на изолиция ще задържи състоянието, което е заредил досега, и ще продължи да ви дава същото състояние локално на транзакцията, въпреки че реалните данни са се променили - това се нарича повтарящо се четене на език за изолация на транзакциите.

http://en.wikipedia.org/wiki/Isolation_%28database_systems%29



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да задам максимален брой редове в MySQL таблицата?

  2. MySQL – Как да генерираме произволно число

  3. WordPress изготвено изявление с условие IN().

  4. MICROSECOND() Пример – MySQL

  5. MySQLDumper:Базиран на PHP и Perl инструмент за архивиране на MySQL база данни