1. 程式人生 > >Springboot+redis實現session共享

Springboot+redis實現session共享

當多個應用做叢集的時候,如何實現應用之間session共享。

解決辦法:

用一個容器儲存 session,就能共享了。容器可以是資料庫,快取,檔案等。當然這裡效能最高的還是 

redis了。

例項程式碼:

pom檔案中加入redis跟session

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
</dependency>

在配置檔案application.properties裡配置

# Redis伺服器地址
spring.redis.host=localhost
# Redis伺服器連線埠
spring.redis.port=6379
# Redis伺服器連線密碼(預設為空)
spring.redis.password=

加上埠號

server.port=8080

定義一個Controller

@GetMapping("get")
public Map<String,String> getSession(HttpServletRequest request){
    HashMap<String,String>map=new HashMap<String, String>();
    map.put("sessionId",request.getSession().getId());
    return map;

}

啟動app類加上@EnableRedisHttpSession 開啟spring session支援

@SpringBootApplication
@EnableRedisHttpSession
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

啟動第二個專案就是改專案的埠

首先訪問8080埠的設定session

最後,再訪問8081埠的sessions

可見,8080與8081兩個伺服器返回結果一樣,實現了session的共享

這個時候開啟redis客戶端,可以查詢到session資訊已經儲存在redis裡。

相關推薦

springBoot+redis 實現session共享理解,應用場景單點登入,分散式應用。

Springboot+redis 實現session共享也是利用了cookie在域名,路徑相同的情況下可以共享內容。第一次請求會將SESSION儲存在redis中,並將SESSIONID返回到瀏覽器的cookie中,第二次請求會攜帶上第一次請求的JSESSIONID。服務端拿

Springboot+redis實現session共享

當多個應用做叢集的時候,如何實現應用之間session共享。 解決辦法: 用一個容器儲存 session,就能共享了。容器可以

springboot+springsession+redis實現session共享

專案結構 1、springboot整合Redis以及springSession,需要在POM檔案中增加依賴 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/P

SpringBoot+SpringSession+Redis實現session共享及單點登入

最近在學習springboot,session這個點一直困擾了我好久,今天把這些天踩的坑分享出來吧,希望能幫助更多的人。 一、pom.xml配置  <dependency> <groupId>org.springframework.boot

springboot專案Nginx+Tomcat實現負載均衡結合Redis實現session共享問題

對於分散式使用Nginx+Tomcat實現負載均衡,當同一個使用者登入後,再次訪問可能分發到不同的服務,這樣我們就取不到之前登入session,出現未登入現象。所以我們必須解決共享session問題。  方式一:儲存在資料庫中 , 使用者登入時,把session資訊儲存在資

php分布式redis實現session共享

code handler database auth 內容 cnblogs markdown pat edi 方法一:找到配置文件php.ini,修改為下面內容,保存並重啟服務 session.save_handler = redis session.save_path =

Nginx+Tomcat+Redis實現session共享

linux nginx tomcat redis session 通過Nginx作為前端的負載,把請求分發到後端的Tomcat服務器上,提高並發數;但是單純的通過Nginx的ip_hash負載是很多問題的。只要用戶一切換網絡或者後端Tomcat主機宕機session就失效;架構圖:基本環境

nginx+redis實現session共享 .NET分布式架構

serve 1.4 應用程序 mode itl provider disco rtu htaccess 上兩篇文件介紹了如何安裝和封裝redis 本篇主要是記錄下怎麽實現 nginx+redis實現session共享 目前session問題點 又愛又恨的Session

Spring Session Data Redis實現session共享

web.xml odi 數據庫 tails spool ima 配置步驟 配置文件 work 1.前言   在開發中遇到一個關於用戶體驗的問題,每次當運維進行更新重啟服務器時,都會導致會員平臺中已登錄的用戶掉線。這是因為每個用戶的會話信息及狀態都是由session來保存的,

CentOS7 PHP+Redis實現Session共享

先yum簡單的安裝redis wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y install redis 簡單配置一下: vim /etc/redis.conf d

Spring-Session+Redis實現session共享

1、新增依賴 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId>

使用redis實現session共享(基於Spring Boot)

Session 共享 什麼是 Session 由於 HTTP 協議是無狀態的協議,所以服務端需要記錄使用者的狀態時,就需要用某種機制來識具體的使用者。Session 是另一種記錄客戶狀態的機制,不同的是 Cookie 儲存在客戶端瀏覽器中,而 Session 儲存在伺服器上。客戶端瀏覽器訪問

使用Spring-Session Redis實現Session共享

知其然,還要知其所以然 ! 本篇介紹Spring-Session的整個實現的原理。以及對核心的原始碼進行簡單的介紹! 實現原理介紹 實現原理這裡簡單說明描述: 就是當Web伺服器接收到http請求後,當請求進入對應的Filter進行過濾,將原本需要由web伺服器

SprinMvc+Redis 實現session共享

一.session共享的應用場景    每個客戶端與伺服器互動時生成會話的sessionID是唯一,同個客戶端在訪問不同的域名:主域名、子域名、跨站點域名或跨伺服器域名,會有不同的sessionID,有些應用程式會在session存放使用者的狀態和資訊,同個應用程式的客戶端

spring-session-data-redis 實現session共享

1.新增依賴 <dependency>             <groupId>redis.clients</groupId>             <

tomcat8.5+redis實現session共享

1.下載所需jar commons-pool2-2.3.jar jedis-2.7.3.jar tomcat-redis-session-manager-master-2.0.0.jar 下載地址:https://download.csdn.net/download/xuxile/104

Nginx+Tomcat搭建叢集,Spring Session+Redis實現Session共享

小夥伴們好久不見!最近略忙,部落格寫的有點少,嗯,要加把勁。OK,今天給大家帶來一個JavaWeb中常用的架構搭建,即Nginx+Tomcat搭建服務叢集,然後通過Spring Session+Redis實現Session共享。 閱讀本文需要有如下知識點:

我的tomcat+redis實現session共享配置之路

2、在myeclipse 新建一個maven專案【maven-archetype-quickstart】 原始檔新建包名com.orangefunction.tomcat.redissessions 講下載下來的java類拷貝到該包之下(這些java類只

Spring Session + Redis 實現session共享

這裡主要介紹一下基於xml的配置:1. 在pom.xml檔案中引入所需依賴<!-- spring-session begin--> <dependency>

Spring boot + shiro + redis 實現session共享(偽單點登入)

    為實現Web應用的分散式叢集部署,要解決登入session的統一。本文利用shiro做許可權控制,redis做session儲存,結合spring boot快速配置實現session共享。注意本文未解決跨域的問題。不過對於一般的情況能夠很好的起到作用,具體已經在不同埠