2
我使用Python創建如下Redis的管道:redis連接/管道的壽命?
rPipe = redis.Redis(...).pipeline()
可變RPIPE在一個類中的__init__定義。
類中的函數執行設置和得到命令時使用RPIPE用戶調用。
rpipe.set(...)
rpipe.execute()
但據我瞭解,Redis的連接是通過Redis的服務器將自動關閉,所以多久一次我創建的對象我RPIPE將是有效的?
嘿!謝謝您的幫助。我確實需要原子組事務。它們對我的實施至關重要。 我在這裏有一個後續問題:由於Redis不會自動關閉連接,並且我假設客戶端沒有API來執行此操作,所以在發生異常時會發生什麼情況? redis-py會乾淨地釋放資源嗎? 由於Redis是單線程服務器,管道中查詢的異常會安全嗎? – 2014-10-07 06:05:21
爲什麼你需要手動關閉連接? Redis-py使用連接池,即使在流水線命令或事務中也可以處理錯誤。請參閱redis-py [自述文件](https://github.com/andymccurdy/redis-py/blob/master/README.rst)doc和redis [transaction](http://redis.io/topics/transactions )處理更多細節。此外,管道的[測試文件](https://github.com/andymccurdy/redis-py/blob/master/tests/test_pipeline.py)包含有用的代碼示例。 – 2014-10-07 08:04:02
我會閱讀更多關於連接池的信息。謝謝! – 2014-10-07 09:42:40