簡體   English   中英

MySQL 數據使用谷歌雲 SQL 和 SQLAlchemy 緩存

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM