tomcat服务器在运行的时候都是后台依靠session来管理会话的,网页在请求数据的时候携带上cookid来作为请求机器身份鉴别. 在服务器中存储大量的session信息时代服务本身的接口服务处理缓慢 现在内存数据库效率非常高,这里就讲解下如何利用redis来接管tomcat8的session存储
tomcat8 和 redis 的安装这里不做描述
- 在tomcat的conf目录下修改 context.xml
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="10" />
-
将tomcat8需要引入的redis依赖包拷贝到tomcat的lib目录
-
启动tomcat服务,打开浏览器访问服务,利用断点监控可以查看此时的session已经是RedisSession
-
查看redis数据库里面已经有了缓存数据
同时如果tomcat和redis之间的通信不是很好的话,还是不推荐使用此方案. 由于服务运行在阿里云上,内存太小的原因就没有安装redis , 现在验证码和微信扫码等其他的一些缓存数据是存放在同事的服务器上的,由于机器地址跨度太远,带宽就1M,所以这种情况还是不能使用redis来做tomcat的session管理.