激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringCloud實現Redis在各個微服務的Session共享問題

SpringCloud實現Redis在各個微服務的Session共享問題

2021-05-27 12:55別等時光染了夢想 Java教程

Redis是運行在內存中,查取速度很快。本文重點給大家介紹SpringCloud實現Redis在各個微服務的Session共享,感興趣的朋友一起看看吧

微服務中,需要我們在各個微服務中共享session,使用redis來共享session是一個很好的解決方法,redis是運行在內存中,查取速度很快。

1.pom文件中添加依賴

?
1
2
3
4
5
6
7
8
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-redis</artifactid>
</dependency>
<dependency>
    <groupid>org.springframework.session</groupid>
    <artifactid>spring-session-data-redis</artifactid>
</dependency>

2.使用redis的session替換spring的session

?
1
2
3
4
5
6
7
8
9
10
package com.xueqing.demo.sleuthserverhi;
import org.springframework.context.annotation.configuration;
import org.springframework.session.data.redis.config.annotation.web.http.enableredishttpsession;
/**
 * 添加redis配置類啟用redis代碼spring默認session
 */
@configuration
@enableredishttpsession
public class redissessionconfig {
}

3.application.properties配置文件中添加redis配置

?
1
2
spring.redis.port= 6379
spring.redis.host=localhost

4.啟動兩個端口以一樣的tomcat測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package com.xueqing.demo.sleuthserverhi;
 
import java.util.logging.level;
import java.util.logging.logger;
import brave.sampler.sampler;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.cloud.client.loadbalancer.loadbalanced;
import org.springframework.context.annotation.bean;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
import org.springframework.web.client.resttemplate;
import javax.servlet.http.httpservletrequest;
@springbootapplication
@restcontroller
public class sleuthserverhiapplication {
  public static void main(string[] args) {
    springapplication.run(sleuthserverhiapplication.class, args);
  }
  private static final logger log = logger.getlogger(sleuthserverhiapplication.class.getname());
  @autowired
  private resttemplate resttemplate;
  @bean
  @loadbalanced
  public resttemplate getresttemplate(){
    return new resttemplate();
  }
  @requestmapping("/hi")
  public string callhome(httpservletrequest request){
    log.log(level.info, "calling trace service-hi ");
    request.getsession().setattribute("hi","111");
    log.log(level.warning, "加入成功");
    return resttemplate.getforobject("http://localhost:8989/miya", string.class);
  }
  @requestmapping("/info")
  public string info(httpservletrequest request){
    log.log(level.info, request.getsession().getattribute("miya")+"");
    log.log(level.warning, "獲取成功");
    return "i'm service-hi";
  }
  @bean
  public sampler defaultsampler() {
    return sampler.always_sample;
  }
}
package com.xueqing.demo.sleuthservermiya;
import brave.sampler.sampler;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.cloud.client.loadbalancer.loadbalanced;
import org.springframework.context.annotation.bean;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
import org.springframework.web.client.resttemplate;
import javax.servlet.http.httpservletrequest;
import java.util.logging.level;
import java.util.logging.logger;
@springbootapplication
@restcontroller
public class sleuthservermiyaapplication {
  public static void main(string[] args) {
    springapplication.run(sleuthservermiyaapplication.class, args);
  }
  private static final logger log = logger.getlogger(sleuthservermiyaapplication.class.getname());
  @requestmapping("/hi")
  public string home(httpservletrequest request){
    log.log(level.info, "hi is being called");
    request.getsession().setattribute("miya","111");
    log.log(level.warning, "加入成功");
    return "hi i'm miya!";
  }
  @requestmapping("/miya")
  public string info(httpservletrequest request){
    log.log(level.info, "info is being called");
    log.log(level.info, request.getsession().getattribute("hi")+"");
    log.log(level.warning, "獲取成功");
    return resttemplate.getforobject("http://localhost:8988/info",string.class);
  }
  @autowired
  private resttemplate resttemplate;
  @bean
  @loadbalanced
  public resttemplate getresttemplate(){
    return new resttemplate();
  }
  @bean
  public sampler defaultsampler() {
    return sampler.always_sample;
  }
}

5.注意事項:我用的springcloud版本為f版本需要redis版本為2.8以上 如果不是2.8以上請升級,地址如下                                    

https://github.com/microsoftarchive/redis/releases

總結

以上所述是小編給大家介紹的springcloud實現redis在各個微服務的session共享,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/wangxueqing52/article/details/81871389

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人毛片久久 | 成片免费观看大全 | 久久97超碰 | 久久精品一区视频 | 91精品片 | 国产精品久久久久久久久久久久午夜 | 亚洲人成电影在线 | 久久资源总站 | 国产精品久久久久久影视 | 中文字幕精品亚洲 | 欧美黄 片免费观看 | 日比视频 | 毛片毛片免费看 | 精品亚洲视频在线观看 | 99麻豆久久久国产精品免费 | 黄色大片在线免费观看 | 免费试看av | 久久精品爱 | 久久嗨 | 高清一区二区在线观看 | gril hd| 激情夜色 | 狠狠操夜夜爱 | 久章草影院| 久久久久久久爱 | 网站激情 | 国产精品视频1区 | 欧美一级淫片007 | 久久久国产精品免费观看 | 午夜精品福利在线观看 | 久久国产秒 | v11av在线播放 | av成人在线电影 | 国产精品免费一区二区三区四区 | 日本在线播放一区二区 | 久久国精品 | 久久久婷婷一区二区三区不卡 | 国产超碰人人爽人人做人人爱 | 欧美成人国产va精品日本一级 | 九九精品在线观看 | 神马久久蜜桃 |