springboot项目中的普通Session和使用redis存储session

 普通session:

 

 

session store type使用来存放session的存储方式,目前Spring boot中只支持Redis方式,

        由于本应用暂无需将session放入redis的需求,故这里就可以将session store type设置为none.

 

这里我们将此配置信息放入application.properites之中:

spring.session.store-type=none

pom.xml:

 

<!-- 引入session jar包 -->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session</artifactId>
        </dependency>

 

session 有效时间设置:

//在程序入口类中添加如下代码:
//设置session失效时间
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer(){
        return new EmbeddedServletContainerCustomizer() {
            @Override
            public void customize(ConfigurableEmbeddedServletContainer container) {
                container.setSessionTimeout(1800);//单位为S
            }
        };
    }

使用redis存储session:

1. pom.xml设置
<!-- 引入session jar包 -->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session</artifactId>
        </dependency>
2. application.properties配置
#session存储格式为redis
spring.session.store-type=redis
#redis配置:
spring.redis.database=0
spring.redis.host=localhost
spring.redis.password=
spring.redis.pool.max-active=8
spring.redis.pool.max-idle=8
spring.redis.pool.max-wait=-1
spring.redis.pool.min-idle=0
spring.redis.port=6379
3.测试代码:
@RequestMapping("/")
@ResponseBody
String home(HttpSession session) {
    session.setAttribute("test", new Date());
    return "Hello World!";
}
4. 缺点:

在用redis做session管理的时候,2个ajax在begin_request时间基本一致, 
但是到达action的时间就有差距了,相差在500毫秒左右(处理session),从而容易造成请求阻塞。

原文链接

总结: 对于接口api类型的小项目,可以不配置session。

 

转载于:https://www.cnblogs.com/leeego-123/p/10573300.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值