0
我們有一個使用Redis進行緩存的Web應用程序。Redis String在批處理/事務中獲取?
我注意到一些等待時間尖峯當與200KB值一個密鑰與幾乎併發請求(的Fiddler移+相同的請求的ř20 - 50倍)進行訪問。
該物品的正常讀取時間大約爲50ms,但峯值約爲800ms。
我在想,如果有一種方法來優化呢?有沒有辦法使用管道/批處理GET?它會有所作爲嗎?
我們有一個使用Redis進行緩存的Web應用程序。Redis String在批處理/事務中獲取?
我注意到一些等待時間尖峯當與200KB值一個密鑰與幾乎併發請求(的Fiddler移+相同的請求的ř20 - 50倍)進行訪問。
該物品的正常讀取時間大約爲50ms,但峯值約爲800ms。
我在想,如果有一種方法來優化呢?有沒有辦法使用管道/批處理GET?它會有所作爲嗎?
這可能嗎?也許。問題是,你所看到的請求是不相關的,彼此不知道。所以,我們要做配料,你需要做的是這樣的:
GET
。這會產生很多管理開銷並降低請求速度。
使用內存中的cache可能會更好地在一段時間內存儲結果,並將它們重用以用於將來的請求。
由於其他請求目前從redis中獲取的密鑰請求來到的情況,這仍然很棘手。如果你關心這種事情,可能很難去除空中請求。
謝謝captncraig。內存中緩存的想法聽起來不錯。我想知道爲什麼Redis StringGet似乎突然涌現。我認爲這可能與爭取在Connection上訪問的請求有關。 – Water
由於時間不好,感覺您的redis實例可能尺寸過小或效能不足,但很難從這裏得知。可能是任何數量的網絡因素或配置。 – captncraig
對於redis實例,20-50個請求實際上是一個很小的數字。即使是小型服務器上的大型請求也應該比這更快。 – captncraig