这篇文章主要为大家分享的是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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。