Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存|学习笔记

简介: 快速学习 Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存

开发者学堂课程【5天实战 Spring Boot 2.5:Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/780/detail/13692


Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存

内容介绍:

一、课程对象和目的

二、MongoDB 简介

三、MongoDB 优点

MongoDB 的典型行业案例

一、课程对象和目的

移动互联网架构

图片1.png

结合课程知识进行扩充

无论是java、PNP等,很多代码做正式项目时,将代码进行分层(java),便于管理代码,是一个主要职责

三层架构:

前端UI层或展示层,中间业务逻辑层,代码里写各种业务逻辑,业务逻辑一般指各种订单、会员加多少分,做判断,执行工作,其次是数据访问层,图中DAO,数据访问对象,对数据库或对接数据文件的操作,代码有很多类,不同类负责不同数据源的对接

较为普遍的现象,一般都为三层

无论是java语言或其他语言,结构都是三层

UI或展示层,一般是界面,网页或收集界面,都是用户界面层,后台有接口,通过接口、经过一些逻辑数据代码访问各种数据库,需要情况下访问数据库

不论是数据库或是缓存主要目的构建高并发

建构:高并发

举例:淘宝双11支付订单峰值每秒五十多万,数据库较为恐怖,平时流量达不到,日常支付每秒一道两万,技术架构业务较为平稳。银行、石油石化等一些部门技术迭代较慢,要求、业务较为稳定,动力较小。对于公司来说,在技术上快速迭代,业务在急剧的变化或增长,外界的动力推动技术团队不断提升技术能力。

淘宝走的是一个无人走的道路

前期的高并发购买的数据库、服务器,价格昂贵且技术封锁或封闭性较强,基本不开放源代码的技术体系,新阶段,银行等其他单位开始转型,走开源路线,开源不一定完全免费但源代码开放,技术可控。很多系统技术可能多个系统并存,淘宝不一定只用My SQL,还有其他系统,共同解决面临的一些问题。

如,地铁刷卡机windows系统、XP系统等,每个数据库都是自己擅长的一方面

早期数据库存储时,严格定义数据的表,有严格数据类型的定义,各数据之间有明确的关系,有严格的流程。

数据库中要保存关系,数据库中再定义表时,无论订单表还是用户表,之间都有关联关系,即外界关联。MySQL等数据库严格体现数据关系,必须提前设计表,之后才能在数据库中保存数据,有严格流程,较为严谨。

2007年以后,抖音、微信等诞生在移动互联网时代,APP指的是移动应用,无论是安卓、苹果程序,通过后台接口保存数据,收集中的淘宝或微信APP,查询数据时,通过网络发送给淘宝数据中心数据库,返回各种数据,通过返回查找的各个数据。

互联网业务迭代较快,依赖业务竞争

国外知识产权保护较好,有核心竞争技术,国内存在产品经理

要有品味,格局要大

技术移动互联网时代后,传统的 My SQL 数据库,适应需求变化方面较差。

如,淘宝,早期使用My SQL做数据库,淘宝APP与PC端收集的数据和存储的数据不同,包括抖音、微信等其他APP,这种搜索平台,都会定位位置,位置信息会根据喜好或周边环境推送相关信息,在PC时代,都是在百度浏览器推出各类广告,范围较广,不精确,现阶段,较为准确,同时也扩展收集其他外部数据。

二、MongoDB 简介

MongoDB业务场景数据库诞生时,不需要提前在数据库设置严格的表结构定义,希望设计一种简单的轻量级的数据库,灵活的存储各种不同的数据,数据不要求字段数量,可以更改,是一个优势,轻量级,灵活。

MongoDB后期也加入很多功能,如缓存、集群等技术架构,走的是他人无法覆盖的路线

1.NoSQL排名第一,BAT互联网公司必备

2.分布式数据库,

3.由C++语言编写,特点是高性能、易部署、易使用、存储数据非常方便,

4.旨在为Web应用提供可扩展的高性能数据存储解决方案

5.MongoDB由10gen团队所开发,于2009年2月首度推出

6.MongoDB开源、跨平台,

7.支持Windows、Linux、OS X和Solaris系统

8.MongoDB最新版本为4.0,支持跨文档事务

三、MongoDB 优点

图片2.png

使用MongoDB公司,有明显移动互联网的特点,新浪微博、物联公司等都在使用

国产的一些手机通过定位查找,保存时间,保存数据,适应灵活多变的场景

四、MongoDB 的典型行业案例

互联网、电商、电信、媒体与娱乐、金融与保险、医疗

相关文章
|
4月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
806 3
|
2月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
3月前
|
消息中间件 Ubuntu Java
SpringBoot整合MQTT实战:基于EMQX实现双向设备通信
本教程指导在Ubuntu上部署EMQX 5.9.0并集成Spring Boot实现MQTT双向通信,涵盖服务器搭建、客户端配置及生产实践,助您快速构建企业级物联网消息系统。
1481 1
|
7月前
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
703 4
|
7月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
2月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
3月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
219 1
Redis专题-实战篇二-商户查询缓存
|
2月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
|
7月前
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1029 0
|
3月前
|
缓存 NoSQL 关系型数据库
Redis缓存和分布式锁
Redis 是一种高性能的键值存储系统,广泛用于缓存、消息队列和内存数据库。其典型应用包括缓解关系型数据库压力,通过缓存热点数据提高查询效率,支持高并发访问。此外,Redis 还可用于实现分布式锁,解决分布式系统中的资源竞争问题。文章还探讨了缓存的更新策略、缓存穿透与雪崩的解决方案,以及 Redlock 算法等关键技术。