session共享的原理比较简单,就是把session存入redis中,这样,只要IP地址一样,多个应用或者多个子域名下的session就是一样的。
先引入需要依赖的jar包:
然后创建配置类RedisSessionConfig
session共享的配置就算是完成了,这里要注意,application.yml里面要加一项参数配置,表明我们是用redis来实现session共享的,不然启动会报错。
我们来看看效果,项目启动端口设置为8888,配置三个域名指向8888
运行项目,执行http://test2.fuzion.com/setSessionValue设置值,然后用另外两个域名取值
从截图结果可以看到,test.fuzion.com取到了值,而http://local.cashbook.com没有取到值,因为我在项目中配置的共享域名是fuzion.com,只有这个域名的子域名才能共享。那么,多个应用效果怎么样呢,大家可以部署试试。