[英]MySQL data is caching with google cloud SQL and SQLAlchemy
這是我關於 stackoverflow 的第一個問題,所以如果我做錯了什么,請糾正我:)。
我在 Google Cloud SQL 上托管的數據庫中的數據正在使用 Flask-SQLAlchemy 進行緩存。 當我添加一條新記錄並嘗試獲取該記錄時,它不存在。
我正在使用一個添加記錄的腳本,我使用一個腳本來獲取記錄。
我首先用 SQLite 進行了嘗試,效果很好。 但是對於 Google Cloud SQL 中的 MySQL,它不會。
每次我向數據庫添加/更改某些內容時,我都會使用db.session.commit()
我使用 pymysql 模塊: pymysql.install_as_MySQLdb()
我的連接 URI 如下所示: mysql://...
編輯:這是我用來添加新記錄的(我的腳本用於添加笑話):
new_joke = Jokes(joke, user["username"], user["id"], avatar_url, "0")
db.session.add(new_joke)
db.session.commit()
這就是我用來獲取記錄的內容(隨機):
jokes = Jokes.query.all()
randint = random.randint(0, len(jokes) - 1)
joke = jokes[randint]
我找到了答案!
通過在進行查詢之前執行db.session.commit()
,它會刷新它的緩存。
我的代碼現在看起來像這樣:
db.session.commit()
jokes = Jokes.query.all()
randint = random.randint(0, len(jokes) - 1)
joke = jokes[randint]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.