日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

分布式session的問題(使用SpringSession和redis解決)

作者:@黑夜中的一盞明燈 更新時間: 2022-07-30 編程語言
之前的代碼在我們之后一臺應(yīng)用系統(tǒng),所有操作都在一臺Tomcat上,沒有什么問題。當我們部署多臺系統(tǒng),配合Nginx的時候會出現(xiàn)用戶登錄的問題

原因
由于 Nginx 使用默認負載均衡策略(輪詢),請求將會按照時間順序逐一分發(fā)到后端應(yīng)用上。
也就是說剛開始我們在 Tomcat1 登錄之后,用戶信息放在 Tomcat1 的 Session 里。過了一會,請求又被 Nginx 分發(fā)到了 Tomcat2 上,這時 Tomcat2 上 Session 里還沒有用戶信息,于是又要登錄。
在這里插入圖片描述

一:使用SpringSession去實現(xiàn)

1.導(dǎo)入依賴,進行配置,就可以在redis數(shù)據(jù)庫中看到所儲存的session
pom.xml


 <!-- spring-session 依賴 -->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
            <version>2.3.3.RELEASE</version>
        </dependency>

application,yml

spring:
  # redis配置
  redis:
    #服務(wù)器地址
    host: 127.0.0.1
    #端口
    port: 6379
    #數(shù)據(jù)庫
    database: 0
    #超時時間
    timeout: 10000ms
    lettuce:
      pool:
        #最大連接數(shù),默認8
        max-active: 8
        #最大連接阻塞等待時間,默認-1
        max-wait: 10000ms
        #最大空閑連接,默認8
        max-idle: 200
        #最小空閑連接,默認0
        min-idle: 5

二:redis存儲信息

1.redis序列化

/**
 * redis配置類
 */
@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        //key序列化
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        // value序列化
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        // hash序列化 
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        // hash序列化 value序列化
        redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
        //注入連接工廠
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        return redisTemplate;
    }

}

2.修改業(yè)務(wù)層代碼
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
詳細代碼請看:代碼

原文鏈接:https://blog.csdn.net/qq_51269815/article/details/124937980

欄目分類
最近更新