springboot實現session共享(redis中保存)


模擬測試:建立兩個模塊,一個保存session到redis中,一個從redis中獲取session的value值

模塊相同部分:

1.pom

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--  引入springboot&redis整合場景  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--  引入springboot&springsession整合場景  -->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>

 

2.yml

spring:
  redis:
    host: 127.0.0.1
  session:
    store-type: redis
server:
  port: ? (此處為唯一不同地方,模塊需要不同的port)

 

模塊一: 保存session到redis

@RestController
public class HelloHandler {
    @RequestMapping("/test/spring/session/save")
    public String testSession(HttpSession session) {

        session.setAttribute("king", "hello-king");

        return "數據存入Session域!";
    }
}

測試數據如下: 可以看出數據已經保存到redis里面了

127.0.0.1:6379> keys *
1) "spring:session:expirations:159815802
2) "spring:session:sessions:expires:f67d
3) "spring:session:sessions:f67d16f2-851
127.0.0.1:6379> type spring:session:sess
0
hash
127.0.0.1:6379> hgetall spring:session:s
2320
1) "lastAccessedTime"
2) "\xac\xed\x00\x05sr\x00\x0ejava.lang.
01J\x00\x05valuexr\x00\x10java.lang.Numb
00\x00xp\x00\x00\x01t\x19\x88\x1d\xb6"
3) "maxInactiveInterval"
4) "\xac\xed\x00\x05sr\x00\x11java.lang.
\x00\x01I\x00\x05valuexr\x00\x10java.lan
\x02\x00\x00xp\x00\x00\a\b"
5) "sessionAttr:king"
6) "\xac\xed\x00\x05t\x00\nhello-king"
7) "creationTime"
8) "\xac\xed\x00\x05sr\x00\x0ejava.lang.
01J\x00\x05valuexr\x00\x10java.lang.Numb
00\x00xp\x00\x00\x01t\x19\x88\x1d\xb6"

 

模塊二: 從redis獲取session

@RestController
public class HelloHandler {
    @RequestMapping("/test/spring/session/retrieve")
    public String testSession(HttpSession session) {

        String value = (String) session.getAttribute("king");

        return value;
    }
}

 

結果第一次報錯:端口號不安全

 

 

更改后可以得到數據:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM