十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
這篇文章主要介紹python關(guān)閉redis的方式,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
python讀寫redis時,到底需不需要關(guān)閉redis連接池連接?
import redis def RedisUtils(): pool = redis.ConnectionPool(host='172.8.10.145', port=6379, password="xxxxxx", decode_responses=True) r = redis.Redis(connection_pool=pool) return r
一般說法:如果使用連接池就不需要關(guān)閉。當我們用Redis和StrictRedis創(chuàng)建連接時,其實內(nèi)部實現(xiàn)并沒有主動給我創(chuàng)建一個連接,我們獲得的連接是連接池提供的連接,這個連接由連接池管理,所以我們無需關(guān)注連接是否需要主動釋放的問題。另外連接池有自己的關(guān)閉連接的接口,一旦調(diào)用該接口,所有連接都將被關(guān)閉。
但是實際storm項目使用當中報以下錯誤:
ConnectionError: max number of clients reached
超過大連接數(shù),說明連接沒有關(guān)閉,因此調(diào)用基礎(chǔ)連接池的disconnect方法關(guān)閉連接:
if __name__=="__main__": r = RedisUtils() r.connection_pool.disconnect()
ConnectionPool.disconnect()實際上關(guān)閉了從該連接池打開的所有連接。但是,它不會阻止打開新連接。
以上是python關(guān)閉redis的方式的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!