用大白话解释缓存Redis +MongoDB是什么有什么用怎么用
Redis和MongoDB是什么?
Redis:像你家的“小冰箱”,专门存高频使用的食物(数据)。它是基于内存的键值数据库,读写速度极快(每秒超10万次操作)。比如你每次打开手机App,用户登录信息可能就存在Redis里,秒级响应。
MongoDB:像“超大号收纳箱”,专门存各种不规则的杂物(非结构化数据)。它是文档型数据库,用类似JSON的格式存数据,比如用户信息、订单记录、传感器日志等,适合数据量大且结构多变的场景 。
Redis有什么用?怎么用?
核心用途
缓存加速:把数据库里频繁访问的数据(如商品详情)存到Redis,减少数据库压力
会话存储:用户登录状态存Redis,避免每次请求都查数据库
消息队列:用List结构实现秒杀订单排队,避免系统被挤爆
实时排行榜:用有序集合(Sorted Set)存游戏积分,实时更新排名
简单用法
安装:官网下载Redis,启动服务(redis-server),用redis-cli连上就能操作
存数据:
SET user:1001 "小明" # 存字符串
HSET user:profile 1001 age 25 # 存哈希(用户资料)
LPUSH orders "订单A" # 列表存订单队列
查数据:
GET user:1001 # 取用户信息
ZRANGE leaderboard 0 10 WITHSCORES # 查排行榜前10名
MongoDB有什么用?怎么用?
核心用途
存非结构化数据:比如用户动态(带图片、评论、位置信息)。
海量数据存储:支持分布式扩展,存物联网设备每天产生的TB级日志。
灵活查询:支持复杂条件(如“附近5公里的餐厅”)和聚合分析(如每月销售额统计)。
简单用法
安装:官网下载MongoDB,启动服务(mongod),用mongo连上操作。
存数据
db.users.insert({ name: "小红", age: 28, address: { city: "北京", street: "中关村" }, hobbies: ["爬山", "摄影"]
}) // 存用户信息(嵌套文档+数组)
查数据:
db.users.find({ "address.city": "北京" }) // 查北京的用户
db.orders.aggregate([ { $group: { _id: "$month", total: { $sum: "$amount" } } } // 按月统计销售额
])
Redis和MongoDB怎么配合用?
典型场景:电商系统
Redis负责“快”:
缓存商品详情页。
存用户购物车(Hash结构) 。
秒杀库存计数器(避免超卖)。
MongoDB负责“稳”:
存订单详情(含商品、支付、物流信息)。
用户行为日志(用于大数据分析) 。
商品评论(带嵌套回复和点赞数)。
互补逻辑:
高频读写(如访问量、库存)交给Redis;
低频复杂数据(如订单记录、日志)交给MongoDB。
注意事项
Redis别当硬盘用:内存贵,只存高频小数据(如会话、计数器),别存电影文件
MongoDB别强求事务:跨文档操作可能不一致,重要资金流水还是用MySQL
数据备份:Redis定期用RDB快照或AOF日志备份。MongoDB开副本集,防止硬盘故障丢数据 。
Redis是“快枪手”,专治高并发、小数据(如缓存、队列)
MongoDB是“收纳大师”,专治大数据、非结构化(如日志、用户资料)。
两者配合,一个管“热数据”,一个管“冷数据”,能让系统又快又稳!
相关文章:
用大白话解释缓存Redis +MongoDB是什么有什么用怎么用
Redis和MongoDB是什么? Redis:像你家的“小冰箱”,专门存高频使用的食物(数据)。它是基于内存的键值数据库,读写速度极快(每秒超10万次操作)。比如你每次打开手机App,用…...
计算机毕业设计SpringBoot+Vue.js汽车销售网站(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
【0010】HTML水平线标签详解
如果你觉得我的文章写的不错,请关注我哟,请点赞、评论,收藏此文章,谢谢! 本文内容体系结构如下: 一、水平线标签概述 在HTML中,<hr>标签用于在网页上插入一条水平线,其主要…...
FastExcel与Reactor响应式编程深度集成技术解析
一、技术融合背景与核心价值 在2025年企业级应用开发中,大规模异步Excel处理与响应式系统架构的结合已成为技术刚需。FastExcel与Reactor的整合方案,通过以下技术协同实现突破性性能: 内存效率革命:FastExcel的流式字节操作与Re…...
Netty是如何实现零拷贝的?
大家好,我是锋哥。今天分享关于【Netty是如何实现零拷贝的?】面试题。希望对大家有帮助; Netty是如何实现零拷贝的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty是一个高性能的Java网络应用框架,它…...
【大模型➕知识图谱】大模型结合医疗知识图谱:解锁智能辅助诊疗系统新范式
【大模型➕知识图谱】大模型结合医疗知识图谱:解锁智能辅助诊疗系统新范式 大模型结合医疗知识图谱:解锁智能辅助诊疗系统新范式引言一、系统架构1.1 系统架构图1.2 架构模块说明1.2.1 用户输入1.2.2 大模型(语义理解与意图识别)1.2.3 Agent(问题解析与任务分配)1.2.4 问…...
Spring Boot @Component注解介绍
Component 是 Spring 中的一个核心注解,用于声明一个类为 Spring 管理的组件(Bean)。它是一个通用的注解,可以用于任何层次的类(如服务层、控制器层、持久层等)。通过 Component 注解,Spring 会…...
MulFS-CAP: Multimodal Fusion-supervisedCross-modal
一种用于无注册红外-可见图像融合的单阶段框架。与传统的两阶段方法不同,MulFS-CAP结合了隐式注册和融合,简化了处理流程并增强了实用性。该方法使用共享的浅层特征编码器,同时进行特征对齐和图像融合。通过引入可学习的模态字典,…...
WordPress多语言插件GTranslate
GTranslate是一个免费的WordPress多语言插件,它允许您将网站内容翻译成多种语言。这个插件提供了一个简单易用的界面,让您可以在WordPress后台直接进行翻译操作。以下是GTranslate插件的一些主要特点: 免费使用:GTranslate插件完…...
wordpress子分类调用父分类名称和链接的3种方法
专为导航而生,在wordpress模板制作过程中常常会在做breadcrumbs导航时会用到,子分类调用父分类的名称和链接,下面这段简洁的代码,可以完美解决这个问题。 <?php echo get_category_parents( $cat, true, » ); ?…...
Prometheus + Grafana 监控
Prometheus Grafana 监控 官网介绍:Prometheus 是一个开源系统 监控和警报工具包最初由 SoundCloud 构建。自 2012 年成立以来,许多 公司和组织已经采用了 Prometheus,并且该项目具有非常 活跃的开发人员和用户社区。它现在是一个独立的开源…...
初学STM32之简单认识IO口配置(学习笔记)
在使用51单片机的时候基本上不需要额外的配置IO,不过在使用特定的IO的时候需要额外的设计外围电路,比如PO口它是没有内置上拉电阻的。因此若想P0输出高电平,它就需要外接上拉电平。(当然这不是说它输入不需要上拉电阻,…...
springboot2.7.18升级springboot3.3.0遇到的坑
druid的警告,警告如下: 运行警告2025-02-28T09:20:31.28508:00 WARN 18800 --- [ restartedMain] trationDelegate$BeanPostProcessorChecker : Bean com.alibaba.druid.spring.boot3.autoconfigure.stat.DruidSpringAopConfiguration of type [com.a…...
gtest 和 gmock讲解
Google Test(gtest)和 Google Mock(gmock)是 Google 开发的用于 C 的测试框架和模拟框架,以下是对它们的详细讲解: Google Test(gtest) 简介 Google Test 是一个用于 C 的单元测试框…...
GC垃圾回收介绍及GC算法详解
目录 引言 GC的作用域 什么是垃圾回收? 常见的GC算法 1.引用计数法 2.复制算法 3.标记清除 4.标记整理 小总结 5.分代收集算法 ps:可达性分析算法? 可达性分析的作用 可达性分析与垃圾回收算法的关系 结论 引言 在编程世界中,…...
2020 年英语(一)考研真题 笔记(更新中)
Section I Use of English(完型填空) 原题 Directions:Read the following text. Choose the best word (s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Even if families are less likely to si…...
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
解决idea至少创建jdk17项目 问题 idea现在只能创建最少jdk17,不能创建java8了吗?解决 问题 idea现在只能创建最少jdk17,不能创建java8了吗 我本来以为是 IDEA 版本更新导致的 Bug,开始还没在意。 直到我今天自己初始化项目时才发现&am…...
playbin之autoplug_factories源码剖析
一、autoplug_factories_cb /* Called when we must provide a list of factories to plug to pad with caps.* We first check if we have a sink that can handle the format and if we do, we* return NULL, to expose the pad. If we have no sink (or the sink does not…...
正浩创新内推:校招、社招EcoFlow社招内推码: FRQU1CY
EcoFlow社招内推码: FRQU1CY 投递链接: https://ecoflow.jobs.feishu.cn/s/Vo75bmlNr6c...
一文了解:部署 Deepseek 各版本的硬件要求
很多朋友在咨询关于 DeepSeek 模型部署所需硬件资源的需求,最近自己实践了一部分,部分信息是通过各渠道收集整理,so 仅供参考。 言归正转,大家都知道,DeepSeek 模型的性能在很大程度上取决于它运行的硬件。我们先看一下…...
【NOIP】1999真题解析 luogu-P1015 回文数 | GESP四、五级以上可练习
NOIP 1999 普及组真题,主要考察字符串处理、高精度加法以及任意进制的进位规则。解题的核心是将数字看作字符串处理,在循环累加中验证回文特征。适合GESP四、五级以上考生练习。题目难度⭐⭐☆☆☆,洛谷难度等级普及−。 luogu-P1015 [NOIP …...
PyVideoTrans:开源视频翻译与AI配音的完整解决方案
PyVideoTrans:开源视频翻译与AI配音的完整解决方案 【免费下载链接】pyvideotrans Translate the video from one language to another and embed dubbing & subtitles. 项目地址: https://gitcode.com/gh_mirrors/py/pyvideotrans PyVideoTrans是一款功…...
别再手动摆引脚了!嘉立创EDA专业版符号库设计,从蓝桥杯真题到高效实战
嘉立创EDA符号库设计实战:从竞赛真题到工程级规范 第一次用嘉立创EDA专业版设计符号库时,我盯着满屏的引脚和属性栏发呆了十分钟——明明教程里的步骤看起来那么简单,为什么自己操作时总在"摆引脚-改属性-保存报错"的循环里打转&am…...
正规DAPP的奖励,到底来自哪里?(Web3避坑指南)
市面上正规的DAPP项目,那些奖励到底源自何处?这是一个看似基础,却能筛选出绝大多数Web3坑的核心问题——很多人盲目追逐高收益,却从未深究“钱从哪来”,最终沦为资金盘的接盘侠。今天,我们就沉下心聊聊这个…...
Omni-Vision Sanctuary赋能Claude等对话Agent:实现文本对话到视觉创作的延伸
Omni-Vision Sanctuary赋能Claude等对话Agent:实现文本对话到视觉创作的延伸 1. 引言:当语言模型遇上视觉创作 想象一下这样的场景:你正在和Claude讨论一个创意方案,描述着脑海中的画面——"我想要一个未来感十足的城市夜景…...
MacOS下Homebrew国内源配置全攻略:阿里、清华、中科大镜像一键切换
1. 为什么需要切换Homebrew国内镜像源? 如果你经常在MacOS上使用Homebrew安装软件,大概率遇到过下载速度慢到让人抓狂的情况。我刚开始用brew安装Python时,眼睁睁看着进度条像蜗牛爬行,一个200MB的包下了半小时还没完。后来才发现…...
constexpr + consteval + constinit 三重锁性能模型(工业级嵌入式系统内存占用压缩41%,启动时间缩短至23ms)
第一章:constexpr consteval constinit 三重锁性能模型概览C20 引入的 constexpr、consteval 和 constinit 构成了一套分层编译期约束体系,共同构成现代 C 静态性能保障的“三重锁”模型。它们并非替代关系,而是按语义强度递进:…...
用CS5090E芯片给两节锂电池充电,实测效率90%的完整方案(附立创EDA原理图)
基于CS5090E的双节锂电池高效充电方案实战解析 两节锂电池串联充电在便携式设备中越来越常见,但如何实现高效、安全的充电却是个技术活。最近我在一个开源硬件项目中遇到了这个问题,经过反复测试验证,最终采用CS5090E芯片设计了一套充电效率实…...
通义千问API调用避坑指南:从环境变量失效到流式输出卡顿,我踩过的坑都在这了
通义千问API实战避坑手册:环境变量、流式输出与模型选择的深度优化 当开发者第一次接触通义千问API时,往往会被其强大的功能和简洁的文档所吸引。然而在实际集成过程中,各种"玄学"问题接踵而至——从环境变量神秘失效到流式输出莫名…...
家庭装修公司网站方案策划2026
你的装修公司网站,是在花钱还是在赚钱?直接问你一个问题:你的网站上个月带来了几条有效询盘?如果你的回答是”不知道”,或者”好像有几条吧,但成单的没有”——那这篇文章你得认真看完。接触过数十家装修公…...
