問題描述:
最近做項目,遇到一個問題,兩個項目操作同一個數據庫,其中A項目用的pymysql鏈接操作數據庫,B項目用的sqlalchemy,當我請求B項目中的一個接口,會通知A項目操作數據庫,然后返回結果后,B項目再進行下一個操作(這兩步是在一個接口中),但是后來發現,A成功添加了數據后,在同一個請求中,B進行查詢數據時,查詢不到剛剛更新的數據,后來想了想可能是存在緩存問題,緩存問題可以參考下面這個文章
參考:https://www.jianshu.com/p/c0a8275cce99
解決問題:
在B進行查詢數據前先db.session.commit()一下,這個操作會將當前session對象里面的緩存全部提交,清空緩存,下次查詢時,就是從數據庫中查詢最新數據,而不是先查詢緩存
