我正在將會話管理提供程序從inproc更改爲Redis會話狀態,以解決Web Garden的共享會話問題並提高了我的MVC應用程序的性能。使用Redis時遇到的問題是,必須在放入會話之前序列化類,這需要對現有解決方案進行大量修改。有什麼辦法可以解決這個問題嗎?是否有任何提供程序可用於在運行時序列化對象?在遷移到Redis會話狀態時面臨問題
1
A
回答
2
我們經歷了這樣的變化,沒有其他辦法可以做到。它只是用一個屬性來標記你的類,所以它不是什麼大事。 當你發現一些根本就不可序列化的類型時 - 比如一個對象,然後你需要改變它,大事就會出現。無論什麼時候你將會話從進程中移出去,所有的東西都必須是可序列化的,因爲它們將會通過網絡。
順便說一句,你不會有更好的性能,沒有什麼比保存過程中的數據。就我們而言,我們注意到每個請求需要額外約4-500毫秒 - 只是將數據加載並保存到Redis。但是還有其他的優點,比如自動縮放。
另請注意,如果您在會話中保存了一些非常大的內容,它可能會超時 - 檢查redis會話提供程序的throwOnError參數。實際上,緩存大項目(將它們直接存儲在redis中)然後將它們保存在Session中會更好,所以它們不會爲每個請求加載和保存。
相關問題
- 1. ASP.NET會話狀態遷移
- 2. 執行git狀態時面臨問題
- 3. Redis的會話狀態EVAL超時
- 4. ASP.NET會話狀態問題
- 5. 會話狀態的問題
- 6. 會話狀態問題
- 7. ASP.Net會話狀態問題
- 8. PHP會話狀態問題
- 9. 會話狀態超時參數問題
- 10. ASP.NET會話狀態超時問題
- 11. 在.net mvc會話狀態問題(MySQL)
- 12. 使用Redis的ASP.Net會話狀態
- 13. HttpHandler和會話狀態問題
- 14. ASP.NET會話狀態安全問題
- 15. Sql服務器會話狀態問題
- 16. Internet Explorer中的會話狀態問題!
- 17. 鈍化問題有狀態會話Bean
- 18. 有狀態會話Bean - Stateloss問題
- 19. 在South遷移時遇到問題
- 20. Asp.Net如何將會話狀態轉移到狀態服務器
- 21. Redis和Asp.Net會話狀態 - 超時與Eval
- 22. 將有狀態會話bean從EJB 2.1遷移到EJB 3 - 如何遷移具有參數的創建方法
- 23. 時所面臨的問題
- 24. Joomla到Drupal遷移問題
- 25. MyFaces到Mojarra遷移問題
- 26. 遷移問題到Git
- 27. JSF1.2到JSF2.0遷移問題
- 28. gcm.jar到FCM遷移問題
- 29. sqlite到mysql遷移問題
- 30. 面臨的問題,而遷移從WebSphere 7.0應用程序到WebSphere 8.5.5
@lcostea的回答是正確的,如果您希望能夠跨越多個應用程序服務器擴展您的應用程序,您只需要完成這項工作。這裏沒有魔法。 –