什么是 Redis?

更多面试题请看这里:https://interview.raoyunsoft.com/

面试题专栏会持续更新欢迎关注订阅

Redis 是一款开源的内存数据结构存储系统,采用 BSD 许可协议。它不仅是高性能数据库和缓存工具,还能充当消息中间件。核心能力在于支持丰富的数据结构,并提供企业级的高可用方案。

🔑 核心特性
  1. 内存存储引擎

    所有数据优先存储在内存中,实现微秒级读写响应(如图),远超传统磁盘数据库:

  2. 多样化数据结构

    超越简单键值存储,原生支持 5 种核心结构:

    Redis 字符串 哈希表 列表 集合 有序集合 位图 HyperLogLog

  3. 持久化与高可用

    • 数据安全:支持 RDB 快照和 AOF 日志两种持久化模式
    • 故障转移:通过哨兵机制实现自动故障检测和主从切换
    • 水平扩展:Cluster 模式支持分布式部署(如图)
  4. 高级功能集成

    • 原子事务:支持 MULTI/EXEC 事务块
    • Lua 脚本:在服务端执行复杂操作
    • 发布订阅:消息广播能力
    • 自动淘汰:LRU/LFU 内存管理策略
💡 典型应用场景
场景类型 数据结构应用 性能优势
实时缓存 字符串/哈希 100万QPS读写
排行榜 有序集合(ZSET) 毫秒级动态排序
社交关系 集合(SET) 交集/并集运算
秒杀系统 列表(LIST)+事务 高并发原子操作
实时统计 HyperLogLog/位图 低内存精准计数
⚙️ 技术架构亮点

集群层 服务层 数据层 16384槽位 Cluster分片 自动故障转移 Sentinel 避免锁竞争 单线程Reactor Epoll多路复用 RDB持久化 内存数据集 AOF日志

相关推荐
雨落在了我的手上2 小时前
初始java(十):类和对象(⼆)
java·开发语言
plainGeekDev3 小时前
Android内存面试题:OOM都解决不了,性能优化从何谈起?
android·面试·kotlin
莫雪歌3 小时前
Java AI 应用开发实践:基于 Spring Boot 实现 Chat、Memory、RAG 与 Tool Calling
java·aigc
知识分享小能手3 小时前
Flask入门学习教程,从入门到精通,数据库操作 — 知识点详解与案例代码(4)
数据库·学习·flask
我是一颗柠檬3 小时前
【MySQL全面教学】MySQL基础SQL语句Day3(2026年)
数据库·后端·sql·mysql·oracle
XS0301064 小时前
MyBatis动态SQL
数据库·sql·mybatis
MandalaO_O4 小时前
MyBatis 与 MySQL 执行流程
数据库·mysql·mybatis
SmartBrain4 小时前
AI全栈开发(SDD):慢病管理系统工程级设计
java·大数据·开发语言·人工智能·架构·aigc
梦想CAD控件4 小时前
网页端对DWG图纸进行预览与批注(CAD轻量化)
java·前端·javascript
老毛肚4 小时前
Spring boot 特性和自写Reids组件
java·spring boot·后端