SQLAlchemy的“緩存”問題導致的BUG


問題描述:

  最近做項目,遇到一個問題,兩個項目操作同一個數據庫,其中A項目用的pymysql鏈接操作數據庫,B項目用的sqlalchemy,當我請求B項目中的一個接口,會通知A項目操作數據庫,然后返回結果后,B項目再進行下一個操作(這兩步是在一個接口中),但是后來發現,A成功添加了數據后,在同一個請求中,B進行查詢數據時,查詢不到剛剛更新的數據,后來想了想可能是存在緩存問題,緩存問題可以參考下面這個文章

參考:https://www.jianshu.com/p/c0a8275cce99

解決問題:

在B進行查詢數據前先db.session.commit()一下,這個操作會將當前session對象里面的緩存全部提交,清空緩存,下次查詢時,就是從數據庫中查詢最新數據,而不是先查詢緩存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM