用大白话解释缓存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是“收纳大师”,专治大数据、非结构化(如日志、用户资料)。

两者配合,一个管“热数据”,一个管“冷数据”,能让系统又快又稳!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理:词频-逆文档频率

介绍 大家好,博主又来给大家分享知识了。本来博主计划完成稠密向量表示的内容分享后,就开启自然语言处理中文本表示的讲解。可在整理分享资料的时候,博主发现还有个知识点,必须得单独拎出来好好说道说道。 这就是TF-IDF&#xf…

架构思维:架构的演进之路

文章目录 引言为什么架构思维如此重要架构师的特点软件架构的知识体系如何提升架构思维大型互联网系统架构的演进之路一、大型互联网系统的特点二、系统处理能力提升的两种途径三、大型互联网系统架构演化过程四、总结 引言 在软件开发行业中,有很多技术人可能会问…

DeepSeek-R1-Zero:基于基础模型的强化学习

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列四DeepSeek大模型技术系列四》DeepSeek-…

Metal学习笔记八:纹理

到目前为止,您已经学习了如何使用片段函数和着色器为模型添加颜色和细节。另一种选择是使用图像纹理,您将在本章中学习如何操作。更具体地说,您将了解: • UV 坐标:如何展开网格,以便可以对其应用纹理。 •…

Dify使用和入门

第一步:了解 Dify 在开始之前,先简单了解一下 Dify 是什么: Dify 是一个开源的 LLM 应用开发平台,专注于帮助开发者快速构建生产级的生成式 AI 应用。它支持知识库集成、RAG(检索增强生成)技术、复杂工作…

threeJS——安装以及三要素

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装二、三要素1.场景1.1创建场景1.2向场景添加元素1.3场景属性 2.相机2.1相机特点2.2正交相机2.3空间布局2.4小姐操作 3.渲染器 总结 前言 本章简单介绍前…

毕业项目推荐:基于yolov8/yolo11的野生菌菇检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

【精华】为什么class在前端开发中不常用?

为什么class在前端开发中不常用? js是一种基于原型的语言。它的对象继承是通过 原型链(prototype chain)实现的,每个对象都有一个 proto 属性指向它的原型。(大多数传统面向对象语言(如 Java、C、Python、…

【六祎 - Note】SQL备忘录;DDL,DML,DQL,DCL

SQL备忘录 from to : 点击访问源地址

阿里云物联网获取设备属性api接口:QueryDevicePropertyData

阿里云物联网接口:QueryDevicePropertyData 说明:调用该接口查询指定设备或数字孪生节点,在指定时间段内,单个属性的数据 比如提取上传到物联网的温度数据 api文档:QueryDevicePropertyData_物联网平台_API文档-阿里…

需求和开发模型

文章目录 什么是需求?用户需求软件需求用户需求和软件需求的不同 开发模型什么是“模型”?软件的生命周期常见的开发模型瀑布模型(Waterfall Model)螺旋模型增量模型、迭代模型敏捷模型 测试模型V 模型W 模型(双 V 模型…

21-发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最…

sql深入学习

文章目录 前言知识学习注释的两种形式字符型注入万能密码 布尔盲注报错注入堆叠注入时间盲注二次注入 小技巧 前言 这次学习建立在对数据库有基本的认识,了解基础的增删改查语句,数字型注入和字符型注入的基础上,进一步深入学习知识&#xf…

利用three.js在Vue项目中展示重构的stl模型文件

一、目的 为了在前端页面展示3d打印机打印过程 二、前期准备 完整模型的stl文件和模型切割成的n个stl文件 models文件夹下的文件就是切割后的stl文件 三、代码 <template><div ref"threeContainer" class"three-container"></div><…

【Eureka 缓存机制】

今天简单介绍一下Eureka server 的缓存机制吧✌️✌️✌️ 一、先来个小剧场&#xff1a;服务发现的"拖延症" 想象你是个外卖小哥&#xff08;客户端&#xff09;&#xff0c;每次接单都要打电话问调度中心&#xff08;Eureka Server&#xff09;&#xff1a;“现在…

Python--内置模块和开发规范(下)

2. 开发规范 2.1 单文件应用 文件结构示例 # 文件注释 import os import jsonDB_PATH "data.json" # 常量放顶部def load_data():"""函数注释&#xff1a;加载数据"""if os.path.exists(DB_PATH):with open(DB_PATH, "r"…

go设计模式

刘&#xff1a;https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 单例模式 2. 简单工厂模式 代码逻辑&#xff1a; 原始&#xff1a;业务逻辑层 —> 基础类模块工厂&#xff1a;业务逻辑层 —> 工厂模块 —> 基础类模块…

搭建数字化生态平台公司:痛点与蚓链解决方案

在数字技术突飞猛进的当下&#xff0c;数字化生态平台成为众多企业实现创新发展、拓展业务版图的 “秘密工具”。今天&#xff0c;咱们就一起来聊聊搭建这类平台的公司&#xff0c;看看它们有啥独特之处&#xff0c;又面临哪些难题。 一、面临的痛点 &#xff08;一&#xff0…

标记符号“<”和“>”符号被称为“尖括号”或“角括号”

你提到的“<”和“>”符号被称为“尖括号”或“角括号”。它们常用于编程语言中表示类型参数&#xff08;如泛型&#xff09;、HTML标签&#xff08;如<div>&#xff09;、数学中的不等式&#xff08;如< 5&#xff09;等。 好的&#xff0c;我来用通俗的方式解…

云平台DeepSeek满血版:引领AI推理革新,开启智慧新时代

引言&#xff1a;人工智能的未来——云平台的卓越突破 在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正深刻地改变着我们生活与工作方式的方方面面。作为AI领域的创新者与领航者&#xff0c;云平台始终走在技术前沿&#xff0c;凭借无穷的热情…