新聞中心
python讀寫(xiě)Redis時(shí),到底需不需要關(guān)閉redis連接池連接?

成都創(chuàng)新互聯(lián)專(zhuān)注于南沙網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供南沙營(yíng)銷(xiāo)型網(wǎng)站建設(shè),南沙網(wǎng)站制作、南沙網(wǎng)頁(yè)設(shè)計(jì)、南沙網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造南沙網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南沙網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
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
一般說(shuō)法:如果使用連接池就不需要關(guān)閉。當(dāng)我們用Redis和StrictRedis創(chuàng)建連接時(shí),其實(shí)內(nèi)部實(shí)現(xiàn)并沒(méi)有主動(dòng)給我創(chuàng)建一個(gè)連接,我們獲得的連接是連接池提供的連接,這個(gè)連接由連接池管理,所以我們無(wú)需關(guān)注連接是否需要主動(dòng)釋放的問(wèn)題。另外連接池有自己的關(guān)閉連接的接口,一旦調(diào)用該接口,所有連接都將被關(guān)閉。
但是實(shí)際storm項(xiàng)目使用當(dāng)中報(bào)以下錯(cuò)誤:
ConnectionError: max number of clients reached
超過(guò)連接數(shù),說(shuō)明連接沒(méi)有關(guān)閉,因此調(diào)用基礎(chǔ)連接池的disconnect方法關(guān)閉連接:
if __name__=="__main__": r = RedisUtils() r.connection_pool.disconnect()
ConnectionPool.disconnect()實(shí)際上關(guān)閉了從該連接池打開(kāi)的所有連接。但是,它不會(huì)阻止打開(kāi)新連接。
python學(xué)習(xí)網(wǎng),免費(fèi)的在線學(xué)習(xí)python平臺(tái),歡迎關(guān)注!
分享標(biāo)題:創(chuàng)新互聯(lián)Python教程:python如何關(guān)閉redis
文章起源:http://www.dlmjj.cn/article/dpsjgjo.html


咨詢(xún)
建站咨詢(xún)
