• 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);
        }    
    }



  • 相关阅读:
    linux driver ------ 交叉工具链(cross toolchain)
    Qt ------ 截图、获取鼠标指定的RGB值
    Qt ------ QWidget 自定义子类使用信号与槽(Q_OBJECT)后 stylesheet 失效
    Qt error ------ incomplete type 'QApplication' used in nested name specifier
    Qt ------ Q_UNUSED
    SpringCloud 组件Eureka参数配置项详解
    过滤器(Filter)与拦截器(Interceptor)的区别
    事务隔离级别
    事务四大特性
    get与post的区别
  • 原文地址:https://www.cnblogs.com/zgxz/p/7792460.html
Copyright © 2020-2023  润新知