愛在花開的季節 发表于 2025-4-8 11:17:44

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 机制实现,存在数据丢失风险(默认非实时持久化)默认持久化到磁盘,支持副本集和分片集群保证高可用性实用场景缓存、计数器、实时统计等需要极致性能的场景需要复杂查询、事务、持久化存储的业务数据(如用户资料、订单体系) 关键差异总结


[*]数据模型
Redis 需要手动处理 JSON 序列化,MongoDB 原生支持文档结构
[*]查询机动性
Redis 仅支持键匹配,MongoDB 支持多条件组合查询
[*]持久化能力
Redis 更适合临时数据缓存,MongoDB 适合恒久业务数据存储

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: redis 和 MongoDB都可以存储键值对,并且值可以是复杂json,用完备例子分别展示分析两者在存储json键值对上的使用对比