2016-01-12 30 views
1

需要在REDIS緩存中添加全局變量。 例如: 考慮與學生,員工和員工相關的應用程序。 每個角色都有一個獨特的對象。當學生登錄到應用程序時,我們需要從redis獲取學生信息。其他角色登錄也一樣。如何在REDIS緩存中添加全局變量

如果我們在應用程序初始化時存儲所有的細節,我們不需要發送請求來獲取角色相關的細節。如果我們將它存儲到會話中,那麼每個用戶登錄都會檢查該數據。而且每個用戶的會話ID也不盡相同。

可能嗎? 如果是,我們如何在應用程序初始化時存儲這些值?

回答

2

首先,由於Redis是一個緩存,因此您正在存儲的對象可能是,並且隨着時間的推移被逐出。當Redis變滿時,它將根據您的eviction policy configuration開始清除對象。

大概在初始化時緩存所有內容並不是最佳的操作過程,我會在第一次請求時緩存對象,如果它們不存在於Redis中,請將它們存儲以供將來檢索。這樣,如果您的Redis實例清除該對象,那麼您的應用程序邏輯將始終找到它(從緩存或本地存儲)。這就是所謂的Cache-Aside Pattern

您的初始化邏輯因您使用的技術/平臺而異。 ASP.NET MVC 5或更低版本具有Global.asax文件,ASP.NET 5 MVC6具有Startup.cs文件。

相關問題