什么是 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日志

相关推荐
张小凡vip8 分钟前
Kubernetes--k8s中部署redis数据库服务
redis·kubernetes
xiaowu0809 分钟前
C# 拆解 “显式接口实现 + 子类强类型扩展” 的设计思想
数据库·oracle
讯方洋哥24 分钟前
HarmonyOS App开发——关系型数据库应用App开发
数据库·harmonyos
CodeToGym24 分钟前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
凡人叶枫34 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
发现一只大呆瓜42 分钟前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
JMchen1231 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
惊讶的猫1 小时前
Redis持久化介绍
数据库·redis·缓存
阔皮大师1 小时前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享1 小时前
StickyNotes,简单便签超实用
java·python