• springSession


    session 会话共享
    第一种: 第一种是使用容器扩展来实现,比如基于Tomcat的tomcat-redis-session-manager插件,基于Jetty的jetty-session-redis插件;这个方案的好处是对项目来说是透明的,无需改动代码,但是由于过于依赖容器,一旦容器升级或者更换意味着又得从新来过;
    第二种: 第二种是自己写一套Session会话管理的工具类,在需要使用会话的时候都从自己的工具类中获取,而工具类后端存储可以放到Redis中。这个方案灵活性很好,但开发需要一些额外的时间。
    第三种: 第三种是使用框架的会话管理工具,也就是我们要介绍的spring-session,可以理解是替换了Servlet那一套会话管理,既不依赖容器,又不需要改动代码,并且是使用spring-data-redis连接和操作redis,可以说是非常完美的解决方案
    看官方文档最详细
    基于XML的HttpSession示例
    连接到Redis  然后创建RedisHttpSessionConfiguration这个bean 中配置springSessionRepositoryFilter这个过滤器

    基于注解的HttpSession 示例
    编写一个类并注解为@EnableRedisHttpSession,在配置类的方法中配置@bean
    编写一个servlet容器初始化类
    @EnableRedisHttpSession
    public class SpringSessionConfig {
        
        @Bean
        public JedisConnectionFactory connectionFactory(){
            JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
            jedisConnectionFactory.setHostName("192.168.119.128");
            jedisConnectionFactory.setPort(6379);
            jedisConnectionFactory.setPassword("123456");
            return jedisConnectionFactory;        
        }
    }

    public class ServletInitializer extends AbstractHttpSessionApplicationInitializer {

        public ServletInitializer() {
            super(SpringSessionConfig.class);
        }    
    }



  • 相关阅读:
    【k8s】pv 处在 Terminating 状态
    【k8s】命令行自动补全
    【k8s】允许 master 节点运行 pod
    【k8s】Harbor 安装
    Nginx 允许 frame 嵌套
    Python基础教程:json中load和loads区别
    Python 基础教程:用户交互语句
    Python正则表达式-常用函数的基本使用
    Python字典循环与字典排序
    4道Python文件操作和函数练习题
  • 原文地址:https://www.cnblogs.com/zgxz/p/7792460.html
Copyright © 2020-2023  润新知