SpringBoot + SpringSession + Redisの分散セッション・ソリューション

SpringBoot + Redisの分散セッション・ソリューション

序文

シーン:
私たちは、プロジェクトのアプリケーションクラスタを設定すると、セッション共有に問題があります。セッションは、上記のサーバーに保存されているため。
ソリューション:
達成されたバインディングのIP ;. Bバランシングnginxの負荷によって(そのうちの一つを結合IPサーバでは、クラスタの概念はありません)
クッキーのデータがクライアントに保存されているので(クッキーバックアップセッションによって実装されています。したがって、安全でない)
。CはRedisのバックアップによってセッション)(信頼性を達成しました。

共有セッションを達成するためにSpringBoot + springsession + Redisの

注意:あなたはRedisのサーバーを設定する前に

導入1、ポンポン

        <!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--全局session-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>

2、プロファイル設定

# Redis settings
spring.redis.database=2
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.ssl=false
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=100
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=
spring.session.store-type=redis

図3に示すように、書き込みコントローラ

   @RequestMapping(value = "user/session")
    public BaseResult session(HttpServletRequest request) {
        String userId = (String) request.getSession().getAttribute("userId");
        if (StringUtils.isEmpty(userId)) {
            log.info("用户session_id为空!");
            request.getSession().setAttribute("userId", "001_lxf");
        } else {
            log.info("用户session_id:" + userId);
        }
        return BaseResult.success(ResultCode.SUCCESS, userId);
    }

4、Mavenのパッケージプロジェクト

mvn clean package -Dmaven.skip.test=true

5、別のポートで二回、各プロジェクトを開始

进入target目录启动项目,指定不同的端口
java -jar xxx_xxx.jar --server.port=8080
java -jar xxx_xxx.jar --server.port=8081

6、デモンストレーション効果

分别访问,查看效果:
http://127.0.0.1:8080/user/session
http://127.0.0.1:8081/user/session

おすすめ

転載: blog.csdn.net/qq_33029793/article/details/92587980