2015-09-28 42 views
0

我正在嘗試使用python redis客戶端來使redis管道爲某些數據調用redis服務器。這些數據可能存在與否。即使數據不存在,我應該收到類似[None, [None]]的東西,根據我已閱讀和嘗試與Python Redis客戶端。Redis管道返回空列表

但是,有時候我會返回一個空列表,像[]這樣的東西,當我嘗試解析返回的結果列表時,導致在後續(I AM MISSING!)代碼中出現異常。而且,當我在發現問題後手動重試相同的請求時,我無法再現相同的問題,那麼reids服務器將返回正確的數據或[無,[無]],這是由我的代碼處理的。

根本沒有數據寫入或數據更改到redis服務器,只能在我的代碼中讀取。

有沒有人有任何想法導致這種情況發生?由於從邏輯上講,這根本不應該發生。

順便說一句,我使用python Redis的客戶端2.10.3

任何瞭解會有所幫助。謝謝〜!

回答

0

我認爲這是可能是你做了這樣的事情:

pipe.watch(...) 
... 
pipe.execute() 

,而無需調用pipe.multi()

# after WATCHing, the pipeline is put into immediate execution 
    # mode until we tell it to start buffering commands again. 

看到redis-py