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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 快速学习 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 的典型行业案例

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

相关文章
|
6月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
1月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
2月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
155 1
Redis专题-实战篇二-商户查询缓存
|
1月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
|
2月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
167 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
|
6月前
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
882 0
|
7月前
|
NoSQL 安全 Java
深入理解 RedisConnectionFactory:Spring Data Redis 的核心组件
在 Spring Data Redis 中,`RedisConnectionFactory` 是核心组件,负责创建和管理与 Redis 的连接。它支持单机、集群及哨兵等多种模式,为上层组件(如 `RedisTemplate`)提供连接抽象。Spring 提供了 Lettuce 和 Jedis 两种主要实现,其中 Lettuce 因其线程安全和高性能特性被广泛推荐。通过手动配置或 Spring Boot 自动化配置,开发者可轻松集成 Redis,提升应用性能与扩展性。本文深入解析其作用、实现方式及常见问题解决方法,助你高效使用 Redis。
718 4
|
2月前
|
缓存 NoSQL 关系型数据库
Redis缓存和分布式锁
Redis 是一种高性能的键值存储系统,广泛用于缓存、消息队列和内存数据库。其典型应用包括缓解关系型数据库压力,通过缓存热点数据提高查询效率,支持高并发访问。此外,Redis 还可用于实现分布式锁,解决分布式系统中的资源竞争问题。文章还探讨了缓存的更新策略、缓存穿透与雪崩的解决方案,以及 Redlock 算法等关键技术。
|
4月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
512 2
|
5月前
|
缓存 NoSQL 算法
高并发秒杀系统实战(Redis+Lua分布式锁防超卖与库存扣减优化)
秒杀系统面临瞬时高并发、资源竞争和数据一致性挑战。传统方案如数据库锁或应用层锁存在性能瓶颈或分布式问题,而基于Redis的分布式锁与Lua脚本原子操作成为高效解决方案。通过Redis的`SETNX`实现分布式锁,结合Lua脚本完成库存扣减,确保操作原子性并大幅提升性能(QPS从120提升至8,200)。此外,分段库存策略、多级限流及服务降级机制进一步优化系统稳定性。最佳实践包括分层防控、黄金扣减法则与容灾设计,强调根据业务特性灵活组合技术手段以应对高并发场景。
1408 7

推荐镜像

更多