全部
常见问题
产品动态
精选推荐

Redis 全攻略 + 快速掌握指南(从入门到实战)

管理 管理 编辑 删除



本指南分为五个部分:

入门概念 → 核心数据结构 → 实战命令与场景 → 性能优化与集群 → 高级进阶与面试


一、Redis 基础入门

1. 什么是 Redis?

Redis(Remote Dictionary Server)是一个 基于内存的高性能键值数据库,可用作:

  • 缓存系统(高频数据加速访问)
  • 消息队列
  • 分布式锁
  • 实时统计系统

📦 特点:

  • 读写性能极高(QPS 10w+)
  • 支持五大核心数据结构
  • 持久化支持(RDB / AOF)
  • 提供主从复制 + 哨兵 + 集群


二、五大核心数据结构

类型结构示意常用命令应用场景
Stringkey → valueSET / GET / INCR / DECR缓存、计数器、Token存储
Hashkey → {field:value}HSET / HGET / HGETALL用户信息、对象缓存
Listkey → [v1, v2, ...]LPUSH / RPUSH / LPOP / LRANGE消息队列、任务列表
Setkey → {v1, v2, ...}SADD / SREM / SMEMBERS标签、去重、好友关系
ZSet(有序集合)key → {(score, member)}ZADD / ZRANGE / ZSCORE排行榜、延时队列


三、Redis 实战命令速查表

常用操作

SET name "avan"
GET name
DEL name
EXISTS name
EXPIRE name 60  # 设置60秒过期
TTL name        # 查看剩余时间

Hash 操作

HSET user:1 name "jack" age 18
HGET user:1 name
HGETALL user:1
HINCRBY user:1 age 1

List 操作(队列)

LPUSH queue msg1
RPUSH queue msg2
LPOP queue
LRANGE queue 0 -1

Set 操作

SADD tags redis mysql java
SMEMBERS tags
SINTER tags1 tags2  # 交集

ZSet 操作

ZADD rank 100 user1 200 user2
ZRANGE rank 0 -1 WITHSCORES
ZINCRBY rank 10 user1


四、Redis 应用场景实战

场景方案命令
缓存加速业务数据存Redis,先查Redis再查数据库SETEX key ttl value
计数器浏览量、点赞数INCR key
分布式锁防止重复下单、库存超卖SET lock:order 1 NX EX 5
排行榜按积分排名ZADD rank score user
消息队列异步任务LPUSH / BRPOP
延时任务借助ZSet score为时间戳ZADD delay_jobs timestamp job


🔧 五、持久化与性能优化

RDB(快照)

  • 定期保存内存数据到磁盘(.rdb 文件)
  • 配置项:save 900 1(15分钟有1次写入则保存)

AOF(日志追加)

  • 记录所有写命令,可恢复到最新状态
  • 配置:appendonly yes
  • 优势:更安全,实时性高;缺点:文件大

性能优化建议

类别建议
内存使用 maxmemory 控制总量,设淘汰策略 volatile-lru
CPU开启 io-threads(Redis 6+ 支持多线程)
Key避免大 Key(>1MB),拆分存储
TTL给缓存设置过期时间防止爆内存
Pipeline批量执行命令减少RTT延迟


六、Redis 分布式与高可用

模式说明特点
主从复制主节点写,从节点读读写分离、冗余备份
哨兵模式(Sentinel)自动主从切换高可用
集群模式(Cluster)数据分片存多节点水平扩展性能

示意:

[Client] → [Redis Cluster] → Node A,B,C (分槽存储)


七、快速学习路径(建议3天掌握)

时间学习目标内容
Day 1基础入门安装 + 五大数据类型 + 基本命令
Day 2实战应用缓存、排行榜、分布式锁
Day 3进阶优化持久化、Pipeline、主从与集群


八、Redis 面试常考题(简答背诵)

  1. Redis 为什么快? 内存存储 + 单线程 + 非阻塞IO + 高效数据结构
  2. Redis 与 Memcached 区别? Redis支持多数据类型 + 持久化 + 集群 + Lua脚本
  3. 如何防止缓存击穿? 使用互斥锁或热点 Key 永不过期策略
  4. 缓存雪崩如何解决? 设置不同 TTL、增加限流和多层缓存
  5. 大 Key 如何处理? 拆分结构 + 异步删除(UNLINK)
请登录后查看

小码二开 最后编辑于2025-10-28 14:16:52

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
打赏
已打赏¥{{reward_price}}
110
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服