Redis 服务器全方位介绍:从入门到核心原理

简介: Redis是一款高性能、基于内存的NoSQL数据库,支持String、Hash、List、Set、ZSet等丰富数据结构,广泛用于缓存、分布式锁、排行榜、消息队列等场景。支持持久化(RDB/AOF)、主从复制、集群部署,具备原子操作与高并发能力,是构建高可用系统的核心组件之一。(239字)

Redis 服务器全方位介绍:从入门到核心原理

一、什么是 Redis?

Redis(Remote Dictionary Server) 是一个开源的 基于内存的数据结构存储系统,由 Salvatore Sanfilippo(antirez) 于 2009 年开发,目前由 Redis Labs 维护。
它以 高性能、丰富的数据类型、支持持久化 等特性而闻名,被广泛用于缓存、消息队列、排行榜、分布式锁等场景。

简单来说:

Redis 就是一款 “用内存存数据、性能极高、功能超多” 的 NoSQL 数据库。


二、Redis 的特点

特点 说明
⚡ 高性能 所有数据存储在内存中,读写速度极快(可达每秒十万级操作)
🧱 数据结构丰富 支持 String、List、Set、Hash、ZSet 等多种数据类型
💾 支持持久化 可将内存数据持久化到磁盘,防止宕机丢失
🧩 支持事务 支持简单事务操作(MULTI / EXEC)
☁️ 分布式与集群 支持主从复制、哨兵模式和集群部署
🔐 多语言支持 提供 Java、Python、C、Go、Node.js 等多语言客户端
🧠 原子操作 所有操作都是原子的,保证数据一致性

三、Redis 的应用场景

场景 说明
📦 缓存系统 最常见的使用方式,加快数据访问速度,减轻数据库压力
🕒 分布式锁 利用 SETNXEXPIRE 实现高效分布式锁机制
📈 排行榜 借助 ZSet(有序集合)轻松实现游戏排行榜等功能
📮 消息队列 使用 ListStream 实现异步任务队列
👥 会话共享 存储用户 Token、Session,实现分布式登录
⏳ 限流计数器 借助 Redis 的原子自增实现 API 限流控制
🧾 热点数据统计 利用 HyperLogLog、Bitmap 实现高效去重与计数

四、Redis 的数据类型详解

1️⃣ String(字符串)

最基础的数据类型,可以存储任意类型的值(数字、文本、JSON 等)。


SET name "xiaoxiang"
GET name
INCR views

用途:计数器、缓存、Session、分布式锁。

2️⃣ Hash(哈希)

适合存储对象数据(类似键值对集合)。

HSET user:1 name "Tom"
HSET user:1 age 25
HGETALL user:1

用途:用户信息、配置对象存储。
3️⃣ List(列表)

有序、可重复的字符串列表,支持从两端插入/弹出。

LPUSH tasks "task1"
LPUSH tasks "task2"
RPOP tasks

用途:消息队列、任务调度。

4️⃣ Set(集合)

无序、不重复的元素集合。

SADD online_users "Tom" "Jack"
SMEMBERS online_users

用途:好友列表、标签系统、唯一性统计。

5️⃣ ZSet(有序集合)

带分值的集合,支持按分数排序。

ZADD rank 100 Tom
ZADD rank 200 Jack
ZRANGE rank 0 -1 WITHSCORES

用途:排行榜、按权重排序的数据。

6️⃣ Bitmap / HyperLogLog / Stream(高级结构)

Bitmap:用于记录二进制状态(如签到统计)。

HyperLogLog:用于快速去重计数。

Stream:Redis 5.0 引入的强大消息流结构,可替代消息队列。

五、Redis 的持久化机制

Redis 虽然是内存数据库,但提供了两种 持久化方式 来保证数据不丢失:
模式 | 说明
------- | -------
RDB(快照) | 定期将数据快照保存到磁盘。适合备份、启动恢复。
AOF(追加文件) | 以日志方式记录每次写操作,宕机后可重放恢复。
常见配置:

save 900 1     # 900 秒内有 1 次修改就触发 RDB
appendonly yes # 开启 AOF 模式

Redis 7.0 之后还引入了 混合持久化(RDB + AOF),结合两者优点,启动更快,数据更安全。

六、Redis 的内存淘汰策略

当 Redis 内存占满时,会触发 淘汰策略(Eviction Policy)。

常见策略如下:

策略    说明
noeviction    默认策略,内存满时报错
allkeys-lru    所有键中淘汰最少使用的键(LRU)
volatile-lru    只淘汰设置了过期时间的键
allkeys-random    所有键中随机淘汰
volatile-ttl    淘汰最早要过期的键

七、Redis 性能优化建议

合理设置过期时间(TTL)
避免内存被长期占用。

使用连接池(JedisPool / Lettuce)
减少连接创建销毁开销。

避免大 Key / 热 Key
单个 Key 过大或高频访问可能造成阻塞。

开启持久化异步刷盘
减少写阻塞风险。

使用 Pipeline 管道批量执行命令
减少网络延迟。

监控命令使用情况
使用 INFO、SLOWLOG 分析性能瓶颈。
目录
相关文章
|
2月前
|
存储 缓存 监控
Redis分区的核心原理与应用实践
Redis分区通过将数据分散存储于多个节点,提升系统处理高并发与大规模数据的能力。本文详解分区原理、策略及应用实践,涵盖哈希、范围、一致性哈希等分片方式,分析其适用场景与性能优势,并探讨电商秒杀、物联网等典型用例,为构建高性能、可扩展的Redis集群提供参考。
111 0
|
8月前
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
846 68
|
7月前
|
弹性计算 资源调度 搜索推荐
阿里云ECS中长期成本节省计划解析:从原理到实战,助力企业降本提效
阿里云ECS节省计划的推出为企业用户提供了一种全新的成本优化方案。通过一次性购买的方式享受长期按量付费的折扣权益,客户不仅可以大幅降低ECS资源的使用成本还可以享受更高的灵活性和便捷性。本文将从多个维度深入剖析阿里云ECS节省计划,包括其核心优势、详尽的购买使用指引、与传统付费模式的全面对比,以及一客户成功案例,以供大家了解和参考。
|
9月前
|
消息中间件 缓存 NoSQL
Redis原理—5.性能和使用总结
本文详细探讨了Redis的阻塞原因、性能优化、缓存相关问题及数据库与缓存的一致性问题。同时还列举了不同缓存操作方案下的并发情况,帮助读者理解并选择合适的缓存管理策略。最终得出结论,在实际应用中应尽量采用“先更新数据库再删除缓存”的方案,并结合异步重试机制来保证数据的一致性和系统的高性能。
Redis原理—5.性能和使用总结
|
9月前
|
弹性计算 云计算
阿里云认证全新发布【Apsara Clouder云计算专项技能认证:云服务器ECS入门】
阿里云认证全新发布【Apsara Clouder云计算专项技能认证:云服务器ECS入门】
|
9月前
|
存储 缓存 NoSQL
Redis原理—4.核心原理摘要
Redis 是一个基于内存的高性能NoSQL数据库,支持分布式集群和持久化。其网络通信模型采用多路复用监听与文件事件机制,通过单线程串行化处理大量并发请求,确保高效运行。本文主要简单介绍了 Redis 的核心特性。
|
9月前
|
缓存 NoSQL Redis
Redis原理—3.复制、哨兵和集群
详细介绍了Redis的复制原理、哨兵原理和集群原理。
|
9月前
|
运维 NoSQL 算法
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
本文深入探讨了基于Redis实现分布式锁时遇到的细节问题及解决方案。首先,针对锁续期问题,提出了通过独立服务、获取锁进程自己续期和异步线程三种方式,并详细介绍了如何利用Lua脚本和守护线程实现自动续期。接着,解决了锁阻塞问题,引入了带超时时间的`tryLock`机制,确保在高并发场景下不会无限等待锁。最后,作为知识扩展,讲解了RedLock算法原理及其在实际业务中的局限性。文章强调,在并发量不高的场景中手写分布式锁可行,但推荐使用更成熟的Redisson框架来实现分布式锁,以保证系统的稳定性和可靠性。
461 0
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介
|
NoSQL 算法 安全
Redis6入门到实战------ 四、Redis配置文件介绍
这篇文章详细介绍了Redis配置文件中的各种设置,包括单位定义、包含配置、网络配置、守护进程设置、日志记录、密码安全、客户端连接限制以及内存使用策略等。
Redis6入门到实战------ 四、Redis配置文件介绍

热门文章

最新文章