SpringSession(springboot、redis和session整合)

SpringSession(springboot、redis和session整合)

官网:https://docs.spring.io/spring-session/docs/2.5.0/reference/html5/#samples

1、导入依赖
	   <!--redis依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!-- 整合 spring session 实现 session 共享-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>
2、编写application.yml配置文件
spring:
  redis:
    host: 192.168.10.123
    port: 6379

  # 配置session
  session:
    #存储在redis中
    store-type: redis
    # 过期时间30分钟,可不要
    timeout: 30m
3、配置类SessionConfig.java

可以不用配置,根据实际情况配置

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;

@Configuration
public class SessionConfig {

    @Bean
    public CookieSerializer cookieSerializer(){
        DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
        //设置cookie作用域
        cookieSerializer.setDomainName("mall.com");
        //可设置cookie的名字,默认SESSION
        cookieSerializer.setCookieName("SESSION");
        return cookieSerializer;
    }

    @Bean
    public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
        //使用JSON的序列化方式来序列化对象到Redis中
        return new GenericJackson2JsonRedisSerializer();
    }
}

4、主启动类增加注解:@EnableRedisHttpSession
5、使用

在不同服务中:存入数据和取数据,都需以上四个步骤

public viod loginPage(HttpSession session){
	//设置存入的数据,data可以是实体对象
	public static final String LOGIN_USER = "loginUser";
	session.setAttribute(LOGIN_USER,data);
	//从session中取出数据
	session.getAttribute(LOGIN_USER);
 }
//直接从前端获取session数据
${session.loginUser}
6、其他借鉴

https://www.yuque.com/zhangshuaiyin/guli-mall/dno05u

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华婷深深

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值