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

redis 和 MongoDB都可以存储键值对,并且值可以是复杂json,用完整例子分别展示说明两者在存储json键值对上的使用对比

Redis 存储 JSON 键值对示例

存储操作:
// 存储用户信息(键:user:1001,值:JSON对象)
SET user:1001 '{"name":"Alice", "age":30, "address":"New York"}'
查询操作:
// 获取用户信息
GET user:101
// 输出结果:{"name":"Alice", "age":30, "address":"New York"}

MongoDB 存储 JSON 键值对示例

存储操作:
// 直接插入 JSON 文档到 users 集合
db.users.insertOne({
  _id: 1001,
  name: "Alice",
  age: 30,
  address: "New York"
});
查询操作:
// 根据_id查询文档
db.users.findOne({ _id: 1001 });
// 输出结果:{ "_id": 1001, "name": "Alice", "age": 30, "address": "New York" }

核心对比分析

对比维度RedisMongoDB
存储结构值为纯字符串化的 JSON,需客户端解析/序列化原生支持 JSON-like BSON 格式,支持字段级查询和索引
性能内存级操作(毫秒级响应),适合高频读写磁盘/内存混合存储(通常为 10-100ms),适合高吞吐场景
查询能力仅支持键级操作,无法直接查询 JSON 内部字段支持复杂查询(如 db.users.find({ age: { $gt: 25 } }))和索引优化
持久化需通过 RDB/AOF 机制实现,存在数据丢失风险(默认非实时持久化)默认持久化到磁盘,支持副本集和分片集群保证高可用性
适用场景缓存、计数器、实时统计等需要极致性能的场景需要复杂查询、事务、持久化存储的业务数据(如用户资料、订单系统)

关键差异总结

  1. 数据模型
    Redis 需要手动处理 JSON 序列化,MongoDB 原生支持文档结构
  2. 查询灵活性
    Redis 仅支持键匹配,MongoDB 支持多条件组合查询
  3. 持久化能力
    Redis 更适合临时数据缓存,MongoDB 适合长期业务数据存储

相关文章:

  • 贪心算法(16)(java)俄罗斯套娃信封问题
  • 从零到一:用Java和Spring Security构建OAuth2授权服务器
  • 【Vue-vue基础知识】学习笔记
  • 强化学习Q-Learning:DQN
  • 17-产品经理-创建发布
  • Golang 项目平滑重启
  • Python小练习系列 Vol.13:用装饰器记录函数执行时间
  • 蓝桥杯2024年第十五届省赛真题-爬山
  • 刺杀大使--bfs还是比dfs快+二分
  • 专题|MATLAB-R语言Logistic逻辑回归增长模型在互联网金融共生及移动通信客户流失分析实例合集
  • 基于Python Flask快速构建网络安全工具资源库的Web应用实践
  • 【简历全景认知2】电子化时代对简历形式的降维打击:从A4纸到ATS的生存游戏
  • Python高阶函数-filter
  • es 原生linux部署集群
  • JS 中html的document
  • MySQL学习笔记六
  • Python爬虫生成CSV文件的完整流程
  • 谷歌洽谈租赁英伟达AI服务器:算力争夺战再升级
  • 过剩与稀缺:现代社会的思考与启示
  • 信息系统项目管理师-第十一章-项目成本管理
  • 夜读丨在雨中撒欢儿
  • 德州一女子做医美突发心脏骤停昏迷一个多月,涉事机构已关门拆招牌
  • 巴外交部:以军在杰宁向外交使团开火
  • 视频|力箭一号“一箭6星”,将多颗高分辨率遥感卫星送入太空
  • 迪拜工业城2025年初表现强劲,有望迎来投资增长新高
  • 欧盟宣布解除对叙利亚的经济制裁