第 1 章:Redis 初识与环境搭建

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

了解 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 文件

练习

  1. 安装 Redis 并启动服务,使用 redis-cli 连接
  2. 设置密码,验证认证流程
  3. 使用 INFO memory 查看内存使用情况
  4. 修改 maxmemory 配置并用 CONFIG GET 验证
  5. 使用 MONITOR 命令观察实时操作

下一章:五大基础数据类型 →

评论

登录 后发表评论

暂无评论