您好,登錄后才能下訂單哦!
這篇文章主要為大家分享的是Redis和Tomcat在工作中常見問題。文中詳細介紹了Redis和Tomcat以及Redisson的問題和解答,希望大家通過這篇文章能有所收獲。
Tomcat集群用于解決的一些問題包括以下內容。首先,當服務器接收到過多的傳入請求時,它就無法有效地處理它們。其次,當有狀態應用程序需要時(如果服務器發生故障),需要一種保留會話數據的方法。第三,開發人員想要一種不中斷服務即可更改配置或更新其應用程序的方法。這些是我們需要使用Tomcat Cluster的主要原因。但是,有沒有使用特別好的Tomcat群集的正確方法?
Redis是一個內存中開源數據項目。實際上,它是當前最流行的內存數據庫。特別是,Redisson可以用作Redis Java客戶端。Redisson使用Redis來授權Java應用程序供公司使用。它旨在使你的工作更輕松,并更有效地開發分布式Java應用程序。Redisson提供由Redis支持的分布式Java對象和服務。
Redisson的Tomcat Session Manager允許你在Redis中存儲Apache Tomcat的會話。它使你能夠在Tomcat服務器群集之間分配請求。這些都是在Redis支持的非粘性會話管理中完成的。替代選項可能會序列化整個會話。但是,使用此特定的Redis Tomcat Manager,每個會話屬性在每次調用時都會寫入Redis。得益于此優勢,Redisson Session Manager在存儲效率和優化寫入方面擊敗了其他基于Redis的管理器。以此方式,Tomcat會話管理以最理想的方式使用。
將RedissonSessionManager
添加到tomcat/conf/context.xml
中
<Manager className="org.redisson.tomcat.RedissonSessionManager"
configPath="${catalina.base}/redisson.conf" readMode="MEMORY" updateMode="DEFAULT"/>
readMode
——讀取屬性模式。有兩種模式可用:
MEMORY
——將屬性存儲在本地Tomcat Session和Redis中。進一步的會話更新使用基于Redis的事件傳播到本地Tomcat會話。默認模式。
REDIS
——僅將屬性存儲到Redis中。
updateMode
——屬性更新模式。有兩種模式可用:
DEFAULT
——會話屬性僅通過setAttribute方法存儲到Redis中。默認模式。
AFTER_REQUEST
——每次請求后,所有會話屬性都存儲在Redis中。
將兩個jars復制到TOMCAT_BASE/lib
目錄中
· redisson-all-3.10.6.jar
o for Tomcat 6.x: redisson-tomcat-6-3.10.6.jar
o for Tomcat 7.x: redisson-tomcat-7-3.10.6.jar
o for Tomcat 8.x: redisson-tomcat-8-3.10.6.jar
o for Tomcat 9.x: redisson-tomcat-9-3.10.6.jar
使用Redis Tomcat Manager進行Tomcat群集的原因是,如果你期望大量的Web流量,即你的站點是否正在擴展,或者你只是想獲得更多幫助以增加負載,從而提高可用性 。
基于Redis的Tomcat會話管理不是Redisson能夠提供的唯一功能。完成集群項目后,請檢查它的其他好處。Redisson可以提供分布式Java應用程序。它提供了不同的緩存實現,例如JCache API,Hibernate 2nd Level Cache和Spring Cache。它支持數據庫的讀/寫緩存,ExecutorService和ScheduledExecutorService的分布式實現,以及基于Java的MapReduce編程,以支持Redis中存儲的“大量數據”。
總體而言,Redisson可以做很多事情。Tomcat會話管理看似不堪重負,但可以通過Redisson輕松解決。另外,你可能還會發現許多其他功能,這些功能可以滿足你的需求。
看完上述內容,你們對Redis和Tomcat有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。