在 python 客戶端實(shí)現(xiàn) sql 查詢超時(shí)
在使用 python 進(jìn)行 sql 查詢時(shí),有時(shí)需要限制查詢執(zhí)行時(shí)間以防止安全隱患。本文將介紹如何在使用 django orm、peewee、sqlalchemy 等 orm 框架;pymysql 等驅(qū)動(dòng)程序庫;以及 fastapi、flask、django 等應(yīng)用程序框架;以及 uwsgi、gunicorn 等服務(wù)器時(shí)設(shè)置 sql 查詢超時(shí)。
對于使用 uwsgi + fastapi + peewee + pymysql 等組合,可以通過設(shè)置 pymysql 連接超時(shí)參數(shù)來實(shí)現(xiàn) sql 查詢超時(shí):
pymysql.connect( host="localhost", user="user", password="password", db="database", connection_timeout=60, # 連接超時(shí)時(shí)間(秒) read_timeout=60, # 讀超時(shí)時(shí)間(秒) write_timeout=60, # 寫超時(shí)時(shí)間(秒) )
通過設(shè)置這些參數(shù),可以限制 sql 查詢的執(zhí)行時(shí)間。當(dāng)查詢超過指定的超時(shí)時(shí)間時(shí),將拋出超時(shí)異常,終止查詢。
立即學(xué)習(xí)“Python免費(fèi)學(xué)習(xí)筆記(深入)”;
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END