2013-05-31 97 views
0

我正在製作一個天藍色的web角色服務,其中有一長串(數千個)對象,我根據不同的標準進行過濾。我需要緩存這個列表,但我擔心的是:在窗口azure緩存中存儲和迭代列表

假設我有一些角色實例,並且列表被緩存在一臺機器上,而另一臺機器想要迭代列表。列表是否會被複制到請求機器的內存中並重復執行?

回答

0

Windows Azure緩存是序列化的 - 這意味着當你存儲一個項目以緩存它時,它會被序列化(默認情況下使用.Net XmlSerializer,但你可以改變它),當它從緩存中檢索時,它被反序列化爲新對象。

所以是的 - 當你從緩存中檢索一個列表時(甚至在同一個角色實例上!),你將在內存中有一個新的列表被迭代。

+0

對我的答案的一個警告 - 它假定你要麼使用Azure緩存,要麼你已經設置你的HttpSession來使用這個緩存http://www.windowsazure.com/en-us/develop/net/ how-to-guides/cache /#store-session也可以在不啓用Azure緩存的情況下使用HttpSession - 在這種情況下,每個角色都會有單獨的列表 - 不太好! –