1 设置redis密码(不需要可跳过,可以不要密码)
vim /usr/local/redis/redis.conf
requirepass 111111
启动redis
/usr/local/bin/redis-server /usr/local/redis/redis.conf
2 这三个jar放到tomcat/lib目录下
tomcat-redis-session-manager-master.jar
jedis-2.5.2.jar
commons-pool2-2.2.jar
这里下载 https://download.csdn.net/download/yfx000/19148041
3修改tomcat/conf/context.xml
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="10.1.1.23" port="6379" password="111111" database="0" maxInactiveInterval="60" />
注意其中的redis host password 更换,如果没有密码,则把password属性删除
4 重启tomcat测试
5 java代码注意事项
session.setAttribute(name, value);
如果value==null,那么会报空指针异常,所以为null时不要往里setAttribute,或者removeAttribute
备注:
tomcat redis session的github
https://github.com/jcoleman/tomcat-redis-session-manager/
其中tomcat的配置介绍
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost" <!-- optional: defaults to "localhost" -->
port="6379" <!-- optional: defaults to "6379" -->
database="0" <!-- optional: defaults to "0" -->
maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) -->
sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional -->
sentinelMaster="SentinelMasterName" <!-- optional -->
sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />