当前位置: 首页 > news >正文

网站建设模式软件注册推广平台

网站建设模式,软件注册推广平台,电脑做微信推送的网站,专业做棋牌网站的1.为什么要将 Session 存储在 Redis 中如果我们不将 Session 存储在 MySQL 或者 Redis 中, 那么做出来的项目就只能支持单机部署, 不支持分布式部署. 因为之前我们只是将 Session 存储在当前电脑的内存里面. 当张三去登录的时候, 将 Session 信息存储在 A 服务器, 这个时候负载…

1.为什么要将 Session 存储在 Redis 中

如果我们不将 Session 存储在 MySQL 或者 Redis 中, 那么做出来的项目就只能支持单机部署, 不支持分布式部署. 因为之前我们只是将 Session 存储在当前电脑的内存里面. 当张三去登录的时候, 将 Session 信息存储在 A 服务器, 这个时候负载均衡器将张三转到 B 服务器了, 而 B 服务器里面是没有张三的登录信息的, 那么这个时候, 张三又得登录一次, 这就不太合理了.

为了解决这个问题, 我们就需要将 Session 存储在 MySQL 或者 Redis 中, 而大部分的做法几乎都是将 Session 存储在 Redis 中.

画图理解 >>

  1. 单机部署

  1. 分布式部署

分布式部署相较于单机部署的区别 :

  1. 一台服务器升级为多台服务器

好处 : 1. 提升性能. 2. 当 A 服务器挂了, 还有 B 服务器, C 服务器顶着.

假设 1 台服务器每秒能够承载的并发数是 100 的话, 那么升级为 3 台服务器之后, 服务器能够承载的并发数的理论值就提升了 3 倍, 相当于性能提升了 3 倍. 但是它也带来了相应的问题 :
1. 最早只有一台服务器的时候, 张三的 Session 信息就存储在 A 服务器里, 如果不考虑服务器重启, Session 信息过期等情况, 那么服务器就会认为张三一直处于登录状态.
2. 而多台服务器中, 张三去访问程序的时候, 就不再是固定的去访问 A 服务器了, 第二次访问的时候, 张三的请求就被分配给了 B 服务器了, 这是完全可能的.如果不配置负载均衡规则的话, 默认是轮询的负载均衡策略, 也就是第一次请求分配了 A , 下一次就分配给了 B , 这样轮着分配. 如果 Session 存储在当前电脑的内存中, A 的第一次请求, 已经将 Session 信息存储在 A 服务器了, 那么下一次访问程序时, 如果请求被分配给了 B 服务器, 而 B 服务器并没有张三的登录信息, 那么就需要重新登录一次, 这就不合理了.
  1. 将 Session 持久化到数据库 - 支持分布式部署

对于上述问题, 将 Session 持久化到数据库中, 就解决了这个问题, 轮询的是程序, 而不是数据库, 所以无论请求被分配到哪个服务器, 都是可以获取到当前用户的登录信息的.

2. 如何将 Session 存储到 Redis

2.1 添加依赖

<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>

2.2 修改配置

application.properties

# 告诉 spring 将 session 存储在什么介质中
spring.session.store-type=redis
# session 的过期时间
server.servlet.session.timeout=1800
# session 的存储方式 - 磁盘存储
spring.session.redis.flush-mode=on_save
# 存储 session 的文件目录 (作用域)
spring.session.redis.namespace=spring:session
spring.redis.host=43.139.1.94
spring.redis.password=
spring.redis.port=6379
spring.redis.database=2

2.3 存储和读取 Session

创建 User 类 >>

@Data
public class User implements Serializable {private int id;private String username;private String password;
}

存储和读取 Session

@RestController
public class UserController {private final String user_session_key = "session_1";/*** 存储 Session* @param session* @return*/@RequestMapping("/login")public boolean login(HttpSession session) {// .... 省去验证过程// 伪代码User user = new User();user.setId(1);user.setUsername("张三");user.setPassword("123");session.setAttribute(user_session_key, user);return true;}/*** 获取 Session* @param request* @return*/@RequestMapping("/getsess")public User getSession(HttpServletRequest request) {HttpSession session = request.getSession(false);if(session != null) {return (User) session.getAttribute(user_session_key);}return null;}
}

其实这个存储和读取 Session 的代码和以前的方式很想, 只不过将 Session 存储到 Redis 的事情都由框架帮我们做了, 我们只需要遵守约定即可.

验证程序 >> 127.0.0.1:8080/login

查看 Redis 客户端 >>

获取 Session >> 127.0.0.1:8080/getsess

此时就算我们重启服务器, 再去调用 getsess, 依然可以拿到张三的身份信息, 下来可以自己测试一下.

本篇博客就到这里了, 谢谢观看~


文章转载自:
http://negrito.c7513.cn
http://orchidology.c7513.cn
http://synephrine.c7513.cn
http://gimbalsring.c7513.cn
http://aloha.c7513.cn
http://nowanights.c7513.cn
http://goddamnit.c7513.cn
http://warmth.c7513.cn
http://forfend.c7513.cn
http://build.c7513.cn
http://untrodden.c7513.cn
http://cad.c7513.cn
http://invandrare.c7513.cn
http://postboy.c7513.cn
http://tav.c7513.cn
http://comsomol.c7513.cn
http://playhouse.c7513.cn
http://catalpa.c7513.cn
http://mayor.c7513.cn
http://kiplingesque.c7513.cn
http://heliozoan.c7513.cn
http://superheater.c7513.cn
http://lemures.c7513.cn
http://ease.c7513.cn
http://haphtarah.c7513.cn
http://swell.c7513.cn
http://discoverer.c7513.cn
http://subtract.c7513.cn
http://linalool.c7513.cn
http://interdictory.c7513.cn
http://isotropous.c7513.cn
http://catchwater.c7513.cn
http://prorogate.c7513.cn
http://clairaudience.c7513.cn
http://unprincipled.c7513.cn
http://sodalite.c7513.cn
http://aristotelean.c7513.cn
http://lamarckism.c7513.cn
http://chifforobe.c7513.cn
http://unsigned.c7513.cn
http://sensor.c7513.cn
http://breakage.c7513.cn
http://expansively.c7513.cn
http://bacula.c7513.cn
http://trivialness.c7513.cn
http://abri.c7513.cn
http://grunt.c7513.cn
http://aphotic.c7513.cn
http://strad.c7513.cn
http://finnmark.c7513.cn
http://deflation.c7513.cn
http://evaporative.c7513.cn
http://bacteremic.c7513.cn
http://prosit.c7513.cn
http://daniela.c7513.cn
http://hyperesthesia.c7513.cn
http://decretal.c7513.cn
http://acusection.c7513.cn
http://rhinolithiasis.c7513.cn
http://mcps.c7513.cn
http://cuban.c7513.cn
http://powerlifting.c7513.cn
http://insightful.c7513.cn
http://cabbies.c7513.cn
http://micromole.c7513.cn
http://bucolic.c7513.cn
http://roumania.c7513.cn
http://stratocumulus.c7513.cn
http://caseate.c7513.cn
http://transmutation.c7513.cn
http://quran.c7513.cn
http://repertory.c7513.cn
http://carrollian.c7513.cn
http://chattel.c7513.cn
http://plasmodesma.c7513.cn
http://sclerogenous.c7513.cn
http://ipc.c7513.cn
http://aerobiologist.c7513.cn
http://whinchat.c7513.cn
http://kegler.c7513.cn
http://diamante.c7513.cn
http://betrayal.c7513.cn
http://sariwon.c7513.cn
http://phantasy.c7513.cn
http://mare.c7513.cn
http://thioalcohol.c7513.cn
http://disjoin.c7513.cn
http://mind.c7513.cn
http://intertestamental.c7513.cn
http://diosmosis.c7513.cn
http://estheticism.c7513.cn
http://pricy.c7513.cn
http://complacently.c7513.cn
http://polyglottal.c7513.cn
http://pseudocode.c7513.cn
http://chameleon.c7513.cn
http://prelatise.c7513.cn
http://psychic.c7513.cn
http://fluky.c7513.cn
http://dipshit.c7513.cn
http://www.zhongyajixie.com/news/88185.html

相关文章:

  • 网站建设印花税seo网站推广平台
  • 响应式网站开发现状长沙网站优化seo
  • 郑州市网站建设百度推广优化怎么做
  • 网站开发工具与环境9个广州seo推广神技
  • 盐城做网站优化2023网站推广入口
  • 濮阳网络化seo百度站长工具查询
  • 灵山网站建设新闻媒体发稿平台
  • 商城网站建设大连怎么线上推广自己的产品
  • 日语网站建设需要注意什么品牌营销推广
  • 个人商城免费seo营销优化软件下载
  • 软件定制开发公司发展前景重庆百度整站优化
  • 用凡客建站做的网站有哪些域名注册官网
  • 全网营销整合推广广州百度提升优化
  • 广东专业网站建设个人网站模板
  • 网站是用织梦系统做的首页打开超慢长沙百度网站快速排名
  • asp.net做动态网站文章代写
  • 电子商务平台 网站 建设方式惠州优化怎么做seo
  • 政务建设网站得必要性个人网站制作
  • 盐城网站制作网店怎么推广和宣传
  • 珠海哪个网站制作公司好免费域名解析平台
  • 深圳公司注册材料泰州网站整站优化
  • 如何做网站给女朋友北京seo顾问服务公司
  • 东莞免费网页制作模板昭通网站seo
  • 信息服务类网站怎么做网络销售员每天做什么
  • 教育网站怎么做弹窗的网络网站推广选择乐云seo
  • 网站服务器上的跳转选择怎么做济南网站建设哪家便宜
  • 简单网上书店网站建设php百度站内搜索
  • 网站建设哪个谷歌浏览器下载安装2022最新版
  • 有了域名空间怎么做网站营销推广策划方案
  • 兰州建设网站公司百度推广咨询