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 的典型行业案例

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

相关文章
|
12月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
|
存储 NoSQL 前端开发
Redis专题-实战篇一-基于Session和Redis实现登录业务
本项目基于SpringBoot实现黑马点评系统,涵盖Session与Redis两种登录方案。通过验证码登录、用户信息存储、拦截器校验等流程,解决集群环境下Session不共享问题,采用Redis替代Session实现数据共享与自动续期,提升系统可扩展性与安全性。
672 3
Redis专题-实战篇一-基于Session和Redis实现登录业务
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
479 1
Redis专题-实战篇二-商户查询缓存
|
缓存 监控 NoSQL
Redis 实操要点:Java 最新技术栈的实战解析
本文介绍了基于Spring Boot 3、Redis 7和Lettuce客户端的Redis高级应用实践。内容包括:1)现代Java项目集成Redis的配置方法;2)使用Redisson实现分布式可重入锁与公平锁;3)缓存模式解决方案,包括布隆过滤器防穿透和随机过期时间防雪崩;4)Redis数据结构的高级应用,如HyperLogLog统计UV和GeoHash处理地理位置。文章提供了详细的代码示例,涵盖Redis在分布式系统中的核心应用场景,特别适合需要处理高并发、分布式锁等问题的开发场景。
785 42
|
机器学习/深度学习 存储 NoSQL
基于 Flink + Redis 的实时特征工程实战:电商场景动态分桶计数实现
本文介绍了基于 Flink 与 Redis 构建的电商场景下实时特征工程解决方案,重点实现动态分桶计数等复杂特征计算。通过流处理引擎 Flink 实时加工用户行为数据,结合 Redis 高性能存储,满足推荐系统毫秒级特征更新需求。技术架构涵盖状态管理、窗口计算、Redis 数据模型设计及特征服务集成,有效提升模型预测效果与系统吞吐能力。
1511 10
|
缓存 NoSQL 算法
高并发秒杀系统实战(Redis+Lua分布式锁防超卖与库存扣减优化)
秒杀系统面临瞬时高并发、资源竞争和数据一致性挑战。传统方案如数据库锁或应用层锁存在性能瓶颈或分布式问题,而基于Redis的分布式锁与Lua脚本原子操作成为高效解决方案。通过Redis的`SETNX`实现分布式锁,结合Lua脚本完成库存扣减,确保操作原子性并大幅提升性能(QPS从120提升至8,200)。此外,分段库存策略、多级限流及服务降级机制进一步优化系统稳定性。最佳实践包括分层防控、黄金扣减法则与容灾设计,强调根据业务特性灵活组合技术手段以应对高并发场景。
3893 7
|
数据采集 监控 网络协议
基于aiohttp的高并发爬虫实战:从原理到代码的完整指南
在数据驱动时代,传统同步爬虫效率低下,而基于Python的aiohttp库可构建高并发异步爬虫。本文通过实战案例解析aiohttp的核心组件与优化策略,包括信号量控制、连接池复用、异常处理等,并探讨代理集成、分布式架构及反爬应对方案,助你打造高性能、稳定可靠的网络爬虫系统。
1089 0
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
1539 0
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
1499 0
|
前端开发 Java 数据库
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——Thymeleaf 介绍
本课介绍Spring Boot集成Thymeleaf模板引擎。Thymeleaf是一款现代服务器端Java模板引擎,支持Web和独立环境,可实现自然模板开发,便于团队协作。与传统JSP不同,Thymeleaf模板可以直接在浏览器中打开,方便前端人员查看静态原型。通过在HTML标签中添加扩展属性(如`th:text`),Thymeleaf能够在服务运行时动态替换内容,展示数据库中的数据,同时兼容静态页面展示,为开发带来灵活性和便利性。
643 0

推荐镜像

更多