新聞中心
如果你在開線程請求數(shù)據(jù)庫中如果你覺得所用時(shí)間太長的話,你就可以通過python數(shù)據(jù)庫連接池去改善一下在此方面的不足之處,以下是文章的具體介紹,你可以通過我們的文章對python數(shù)據(jù)庫連接池有一個(gè)更好的了解。

10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有資陽免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
昨天測試了一下開500個(gè)線程去請求數(shù)據(jù)庫,不過這個(gè)時(shí)間不清楚會(huì)耗多少。即同時(shí)發(fā)起這么多的線程其效率會(huì)如何。于是想到是不是用數(shù)據(jù)庫連接池技術(shù)可以明顯改善一下這樣的連接操作呢。呆會(huì)整理完了之后要測試一個(gè)數(shù)據(jù):頻繁建立與關(guān)閉數(shù)據(jù)庫連接的效率與連接池之間的性能對比!
一、DBUtils模塊學(xué)習(xí)
DBUtils實(shí)際上是一個(gè)包含兩個(gè)子模塊的Python包,一個(gè)用于連接DB-API 2模塊,另一個(gè)用于連接典型的PyGreSQL模塊。全局的DB-API 2變量
- SteadyDB.py
用于穩(wěn)定數(shù)據(jù)庫連接
- PooledDB.py
連接池
- PersistentDB.py
維持持續(xù)的數(shù)據(jù)庫連接(持續(xù)性連接)
- SimplePooledDB.py
簡單連接池PS:先摘抄DB-API出來一下吧
安裝為頂層模塊來的兩個(gè)模塊提供基本服務(wù), PersistentDB 和 PooledDB 。
DBUtils.PersistentDB 實(shí)現(xiàn)了強(qiáng)硬的、線程安全的、頑固的數(shù)據(jù)庫連接,使用DB-API 2模塊。如下圖展示了使用 PersistentDB 時(shí)的連接層步驟:DBUtils.PooledDB 實(shí)現(xiàn)了一個(gè)強(qiáng)硬的、線程安全的、有緩存的、可復(fù)用的數(shù)據(jù)庫連接,使用任何DB-API 2模塊。如下圖展示了使用 PooledDB 時(shí)的工作流程:
目前供我們選擇的有兩個(gè)模塊:PersistentDB 和 PooledDB 都是為了重用數(shù)據(jù)庫連接來提高性能,并保持?jǐn)?shù)據(jù)庫的穩(wěn)定性。
- python setup.py install
具體的模塊學(xué)習(xí):
DBUtils.SimplePooledDB 是一個(gè)非常簡單的數(shù)據(jù)庫連接池實(shí)現(xiàn)。他比完善的 PooledDB 模塊缺少很多功能。 DBUtils.SimplePooledDB 本質(zhì)上類似于 MiscUtils.DBPool 這個(gè)Webware的組成部分。你可以把它看作一種演示程序
DBUtils.SteadyDB 是一個(gè)模塊實(shí)現(xiàn)了"強(qiáng)硬"的數(shù)據(jù)庫連接,基于DB-API 2建立的原始連接。一個(gè)"強(qiáng)硬"的連接意味著在連接關(guān)閉之后,或者使用次數(shù)操作限制時(shí)會(huì)重新連接。一個(gè)典型的例子是數(shù)據(jù)庫重啟時(shí),而你的程序仍然在運(yùn)行并需要訪問數(shù)據(jù)庫,或者當(dāng)你的程序連接了一個(gè)防火墻后面的遠(yuǎn)程數(shù)據(jù)庫,而防火墻重啟時(shí)丟失了狀態(tài)時(shí)。
一般來說你不需要直接使用 SteadyDB 它只是給接下
標(biāo)題名稱:python數(shù)據(jù)庫連接池中數(shù)據(jù)庫連接池技術(shù)的優(yōu)點(diǎn)簡介
文章源于:http://www.5511xx.com/article/djejcdi.html


咨詢
建站咨詢
