Redis 常用于缓存和会话,但它不会因为速度快就适合替代所有数据库。本篇作为后续实验的预习,不表示本站已经安装 Redis。
学习整理:2026-10-29。以下命令、地址和账号均为课程实验示例,按实际环境替换;涉及安装、覆盖配置或服务启停的操作先在隔离环境练习,不代表本站已经实施。
一、用途
Redis常用于缓存、会话、计数器、排行榜、分布式锁和消息场景。它是内存数据系统,不应因为速度快就替代所有数据库。
二、基础操作
systemctl status redis
ss -lntp | grep 6379
redis-cli ping
redis-cli INFO server
redis-cli INFO memory
redis-cli INFO persistence基本数据操作仅用于实验:
SET health ok
GET health
EXPIRE health 60
TTL health
DEL health生产环境执行KEYS *可能阻塞服务,应理解SCAN类命令后再操作。
三、配置关注点
- bind:监听地址。
- protected-mode:保护模式。
- requirepass或ACL:认证授权。
- maxmemory:内存上限。
- maxmemory-policy:淘汰策略。
- appendonly:AOF。
- save:RDB快照。
- dir:数据目录。
Redis不应无认证暴露到公网。
四、持久化
- RDB:周期性快照,恢复快,可能丢失最近一段数据。
- AOF:记录写操作,可配置刷盘策略,文件通常更大。
- 两者可组合,但仍不能替代独立备份。
五、内存排查
redis-cli INFO memory
redis-cli INFO stats
redis-cli INFO clients
redis-cli SLOWLOG GET 10关注:
- used_memory。
- maxmemory。
- evicted_keys。
- connected_clients。
- blocked_clients。
- keyspace_hits和misses。
不要在生产环境对大实例直接执行危险的全量扫描或大Key操作。
六、连接失败
- Redis进程和端口。
- bind是否只监听127.0.0.1。
- protected-mode和认证。
- 防火墙。
- 客户端连接地址。
- 最大客户端数。
- 日志和内存状态。
隔离环境练习计划
- 配置Redis仅允许实验网段访问。
- 设置认证。
- 写入带过期时间的Key。
- 观察RDB/AOF文件。
- 重启并验证数据。
- 制造错误密码和错误bind配置,完成排查。
我的验收重点
先说清每个组件和参数解决的问题,再在实验环境记录正常结果、错误现象与恢复步骤。配置能通过语法检查只是起点,还应验证实际功能。本文保留为学习笔记,不把计划中的多机部署或演练写成本站完成记录。
补上响应含义与持久化边界
TTL 返回 -2 表示 key 不存在,-1 表示存在但没有过期时间。SET/DEL/EXPIRE 都会写入,应使用实验前缀,不操作业务 key。maxmemory 不是进程总 RSS 的硬上限,复制、持久化与内存碎片也占资源。SCAN 不是固定时刻的一致性快照,也可能重复返回元素;批量处理应能去重或幂等。RDB/AOF 选择需要明确可接受的数据丢失窗口。
内容复核与修订:2026-10-29。实验示例与本站运行记录分别说明;原始归档日期保留。
评论 (0)