【Java面试】缓存为什么用Redis而不用MongoDB呢?

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 分享一道面试题,问出这种问题,我觉得实在是也没什么意思。但是今天还是稍微来分析一下,毕竟总会有人问 1 加 1 为什么等于 2。首先,我们来想一下,既然是用来做缓存,必须要符合哪些特征呢?

缓存所要具有的基本特征


访问速度要快,不然我直接去数据库查岂不是更好,毕竟就是为了提升某些常态化数据的提取速度和减轻数据库压力,才去使用的缓存模块。


支持的存储方式要符合多方面的系统需要,比如不同语言编写的系统交互,是不是要去查询同一个缓存。


要比单纯读数据库更加节约成本。


能保存的数据量要够多,这样才能放得下足够多的缓存,不然我放上十条八条的数据就满了,这成什么样子。


为什么不用 MongoDB 呢?


回到题目上去,那么为什么要用 Redis,而不是使用 MongoDB 呢?



首先 Redis 完全符合上面我们说的几个特征,而且还是基于内存、可持久化的数据库,并且是非常友好的 Key-Value 键值对的方式存储。



而 MongoDB 数据库作为非结构化的文件数据库,其功能和特性并不能支持大多数的缓存数据的存放,只会徒劳增加成本。



MongoDB 的更多使用方式还是存储一些大文件之类的数据,不是专注于去实现一些缓存数据的存储。



Redis 就不一样了,他本身就是应运而生的,除了做缓存数据库虽然还能去实现消息队列之类的功能,但是那都是一些附属价值;Redis 最核心的价值还是缓存数据库,多种数据结构、丰富的 API 使 Redis 在目前环境中还暂时找不到太多对手。



最后这道面试题就算说完了,如果面试问到这种问题,还是要说一下为什么要做缓存,千万不能单纯的比较两者之间的不同之处,有些东西根本就不能拿来比较。


相关文章
|
29天前
|
存储 缓存 NoSQL
Redis常见面试题全解析
Redis面试高频考点全解析:从过期删除、内存淘汰策略,到缓存雪崩、击穿、穿透及BigKey问题,深入原理与实战解决方案,助你轻松应对技术挑战,提升系统性能与稳定性。(238字)
|
2月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
2月前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
218 1
Redis-常用语法以及java互联实践案例
|
4月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
188 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
2月前
|
算法 Java
50道java基础面试题
50道java基础面试题
|
4月前
|
存储 NoSQL 定位技术
Redis数据类型面试给分情况
Redis常见数据类型包括:string、hash、list、set、zset(有序集合)。此外还包含高级结构如bitmap、hyperloglog、geo。不同场景可选用合适类型,如库存用string,对象存hash,列表用list,去重场景用set,排行用zset,签到用bitmap,统计访问量用hyperloglog,地理位置用geo。
115 5
|
4月前
|
缓存 Java 关系型数据库
Java 面试经验总结与最新 BAT 面试资料整理含核心考点的 Java 面试经验及最新 BAT 面试资料
本文汇总了Java面试经验与BAT等大厂常见面试考点,涵盖心态准备、简历优化、面试技巧及Java基础、多线程、JVM、数据库、框架等核心技术点,并附实际代码示例,助力高效备战Java面试。
131 0
|
4月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
195 0
|
4月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”

推荐镜像

更多