745 字
约 2 分钟
1
JAVA 精髓面试题 · Redis 原理与缓存对比

有时候如果网站并发访问高, 一 个缓存如果失效, 可能出现多个进程同时查询DB, 同时 设置缓存的情况, 如果并发 确实很大, 这也可能造成DB压力过大, 还有缓存频繁更新的 问题 。 一 般处理方案是在查DB的时候进行加锁, 如果 KEY不存在, 就加锁, 然后查DB入缓存, 然后解锁;其他进程如果发现有锁就等待, 然后等解锁后再查缓存或者进 有时候如果网站并发访问高, 一 个缓存如果失效, 可能出现多个进程同时查询DB, 同时 设置缓存的情况, 如果并发 确实很大, 这也可能造成DB压力过大, 还有缓存频繁更新的 问题 。 一 般处理方案是在查DB的时候进行加锁, 如果 KEY不存在, 就加锁, 然后查DB入缓存, 然后解锁;其他进程如果发现有锁就等待, 然后等解锁后再查缓存或者进 入DB查询 Redis原理 1、为什么要使用缓存? 出于性能和并发的要求 我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样, 后面的请求就去缓存中读取,使得请求能够迅速响应。

在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用 redis做一个缓冲操作,让请求先访问到redis,而不是直接访问数据库。 MySQL执行SQL的并发一般是1500QPS左右,而使用高效的缓存的话, Redis可以达到10W+的QPS。 2、讲一讲常用的缓存数据库(不限于 Redis)? Redis Redis 1、特点: Redis 是一个基于内存的高性能键值存储系统(基于C编写) 它支持多种数据结构,包括字符串、哈希、列表、集合和有序集合。支持数据持久化、支持分布式、支 持事务等。 2、适用场景: 做缓存、实现消息队列、实现计数器、实现业务排行榜等。 MongoDB 1、特点: MongoDB 是一个文档型数据库(BSON,JSON的拓展) MongoDB的数据设计跟关系型数据库很类似(可以进行对应)。还支持类似于SQL的复杂查询。 2、适用场景: 内容管理系统(MongoDB的灵活数据模型使其非常适合存储和管理各种类型的内容,如文章、图片、 视频等) 实时分析和大数据处理(MongoDB支持复杂查询和聚合操作,它可以存储和处理大规模的日志数据、 用户行为数据,然后进行实时数据分析以及大数据处理)

JAVA 精髓面试题 · Redis 原理与缓存对比
http://www.clxhxhhr.top/posts/1570/
作者
clxstart
发布于
2026-09-18
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。