第 1 章:Redis 初识与环境搭建
jerry北京市2026年4月24日Redis 5 次阅读 约 10 分钟

了解 Redis 的核心定位、典型应用场景,完成安装配置并掌握基本交互方式。
1.1 Redis 是什么
Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统,由 Salvatore Sanfilippo 于 2009 年创建。
核心特点:
- 基于内存,读写速度极快(10 万+ QPS)
- 支持丰富的数据类型(不只是简单的 KV)
- 支持持久化(RDB + AOF)
- 支持主从复制、哨兵、集群等高可用方案
- 单线程模型 + IO 多路复用,避免了线程切换和锁竞争
- 原子操作,天然适合并发场景
Redis 的定位:不仅仅是缓存,更是一个数据结构服务器。
1.2 Redis 能做什么
| 场景 | 说明 | 使用的数据类型 |
|---|---|---|
| 缓存 | 最常见的用途,减轻数据库压力 | String、Hash |
| 会话存储 | 存储用户 Session | String、Hash |
| 排行榜 | 实时排名 | Sorted Set |
| 计数器 | 点赞数、浏览量 | String(INCR) |
| 消息队列 | 简单的异步任务 | List、Stream |
| 分布式锁 | 跨进程/服务的互斥 | String(SETNX) |
| 限流 | API 请求频率限制 | String、Sorted Set |
| 社交关系 | 共同好友、关注列表 | Set |
| 地理位置 | 附近的人 | GEO |
| 布隆过滤器 | 判断元素是否存在 | Bitmap / Module |
1.3 安装 Redis
Linux(推荐)
# Ubuntu/Debian
sudo apt update
sudo apt install redis-server
# CentOS/RHEL
sudo yum install redis
# 从源码编译(获取最新版本)
wget https://download.redis.io/redis-stable.tar.gz
tar -xzf redis-stable.tar.gz
cd redis-stable
make
sudo make install
macOS
brew install redis
Windows
Windows 上推荐使用 WSL2 或 Docker:
# Docker 方式
docker run -d --name redis -p 6379:6379 redis:latest
验证安装
redis-server --version
# Redis server v=7.2.4 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64
redis-cli --version
# redis-cli 7.2.4
1.4 启动与连接
启动服务
# 前台启动(开发用)
redis-server
# 指定配置文件启动
redis-server /etc/redis/redis.conf
# 后台启动(修改配置 daemonize yes)
redis-server --daemonize yes
连接 Redis
# 本地连接
redis-cli
# 指定主机和端口
redis-cli -h 127.0.0.1 -p 6379
# 带密码连接
redis-cli -a yourpassword
# 连接后认证
redis-cli
> AUTH yourpassword
基本交互
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> SET name "Redis"
OK
127.0.0.1:6379> GET name
"Redis"
127.0.0.1:6379> DEL name
(integer) 1
127.0.0.1:6379> EXISTS name
(integer) 0
1.5 核心配置
Redis 的配置文件通常在 /etc/redis/redis.conf,关键配置项:
# 绑定地址(生产环境不要用 0.0.0.0)
bind 127.0.0.1
# 端口
port 6379
# 密码
requirepass yourpassword
# 后台运行
daemonize yes
# 日志级别:debug, verbose, notice, warning
loglevel notice
# 日志文件
logfile "/var/log/redis/redis.log"
# 最大内存
maxmemory 256mb
# 内存淘汰策略
maxmemory-policy allkeys-lru
# 数据库数量(默认 16 个,编号 0-15)
databases 16
# RDB 持久化
save 900 1 # 900 秒内至少 1 次修改则保存
save 300 10 # 300 秒内至少 10 次修改则保存
save 60 10000 # 60 秒内至少 10000 次修改则保存
# AOF 持久化
appendonly yes
appendfsync everysec
运行时修改配置
# 查看配置
CONFIG GET maxmemory
CONFIG GET maxmemory-policy
# 修改配置(立即生效,但重启后失效)
CONFIG SET maxmemory 512mb
# 将当前配置写入配置文件
CONFIG REWRITE
1.6 数据库选择
Redis 默认有 16 个数据库(0-15),彼此隔离:
# 切换到数据库 1
SELECT 1
# 查看当前数据库的 key 数量
DBSIZE
# 清空当前数据库
FLUSHDB
# 清空所有数据库(危险!)
FLUSHALL
生产环境通常只使用数据库 0,多业务隔离建议使用不同的 Redis 实例。
1.7 常用管理命令
# 服务器信息
INFO # 全部信息
INFO server # 服务器信息
INFO memory # 内存信息
INFO clients # 客户端信息
INFO stats # 统计信息
INFO replication # 复制信息
# 客户端管理
CLIENT LIST # 查看所有连接的客户端
CLIENT KILL ip:port # 断开指定客户端
# 慢查询日志
SLOWLOG GET 10 # 获取最近 10 条慢查询
SLOWLOG LEN # 慢查询日志条数
SLOWLOG RESET # 清空慢查询日志
# 监控
MONITOR # 实时监控所有命令(调试用,生产慎用)
# 持久化
BGSAVE # 后台执行 RDB 快照
BGREWRITEAOF # 后台重写 AOF 文件
LASTSAVE # 上次成功保存的时间戳
1.8 Redis 版本演进
| 版本 | 关键特性 |
|---|---|
| 2.x | 基础功能,Pub/Sub |
| 3.0 | Redis Cluster(集群模式) |
| 4.0 | 模块系统、混合持久化、MEMORY 命令 |
| 5.0 | Stream 数据类型 |
| 6.0 | 多线程 IO、ACL 访问控制 |
| 6.2 | GETDEL、GETEX 等新命令 |
| 7.0 | Function、Sharded Pub/Sub、多 AOF 文件 |
练习
- 安装 Redis 并启动服务,使用 redis-cli 连接
- 设置密码,验证认证流程
- 使用
INFO memory查看内存使用情况 - 修改
maxmemory配置并用CONFIG GET验证 - 使用
MONITOR命令观察实时操作
评论
登录 后发表评论
暂无评论