2015-11-03 62 views
1

我們有一些非常昂貴的查詢,涉及多個連接,我想使用Redis緩存(使用最終的ServiceStack.Redis框架)。ServiceStack Redis - 緩存昂貴的查詢

在內存成爲問題之前,我應該在Redis中存儲多少行/項目? e ..g我可以將10 000多行存儲到Redis中,而不用擔心內存問題(我們的服務器,它也託管我們的Web應用程序具有8Gb Ram)。其次,什麼是最好的方式來存儲它們(如列表或散列?)。

回答

2

對於行數取決於行大小。最好的方法是開始保存並查看Redis服務器上的內存使用情況。 10k聽起來不像太多的數據。

關於如何存儲它們,只有在需要檢索特定行時纔會使用散列,例如,如果我將在Redis中進行篩選和排序,這在理論上是可行的。但是,最有可能的結果篩選和排序是在您的應用程序中完成的,因此您只能將所有數據保存在一個密鑰中。我們在應用程序中所做的是將json中的所有結果序列化,然後將它們存檔在代碼中,然後保存到一個簡單的Redis鍵中,這樣可以減少內存消耗。