当前位置: 首页 > news >正文

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

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

相关文章:

  • 基于深度学习+NLP豆瓣电影数据爬虫可视化推荐系统
  • Python标准库【os.path】操作路径
  • vue el-table-column 单元表格的 省略号 实现
  • 人工智能之数学基础:线性代数中矩阵的初印象
  • .sql文件怎么打开
  • vLLM服务设置开机自启动(Linux)
  • 解决 Tkinter 在 Linux 上 Combobox 组件导致焦点丢失问题
  • react工程化开发
  • BIO、NIO、AIO、Netty从简单理解到使用
  • C# Lambda表达式
  • CMU15445(2023fall) Project #3 - Query Execution(上)详细分析
  • cuda-12.4.0 devel docker 中源码安装 OpenAI triton
  • 秋招:现状与应对措施,如何做好秋招与暑期实习的衔接?
  • 操作系统知识点12
  • 详解 HashMap扩容机制,HashMap的底层原理以及HashSet在底层原理
  • Java Web应用中获取客户端的真实IP地址
  • 【AI论文】时间有其定位吗?时间信息头:语言模型在何处回忆时间特定信息
  • Stable Diffusion(SD)系列模型及关联算法深度解析
  • 多个pdf合并成一个pdf的方法
  • 我的AI工具箱Tauri+Django环境开发,支持局域网使用
  • 网站备案之前需要建好网站吗/楚雄seo
  • 网站备案在哪个网/百度站长之家
  • 网站上广告/黄页网站推广app咋做广告
  • 无锡网站建设设计公司/深圳新闻最新事件
  • 电影网站建设教学视频/西安seo排名扣费
  • 淘宝网站建设情况/西安高端网站建设公司