Redis 测试核心是验证功能正确性、性能稳定性、高可用可靠性、数据安全性四大维度覆盖单机、主从、哨兵、集群等部署形态。以下是完整测试要点、方法与工具指南。一、功能测试核心基础目标确保所有命令、数据结构、特性符合预期无逻辑错误。1. 基础数据结构操作字符串StringSET/GET/SETEX/INCR/DEL 等验证值读写、过期、计数。哈希HashHSET/HGET/HMSET/HDEL/HKEYS 等验证字段增删改查。列表ListLPUSH/RPUSH/LPOP/RPOP/LRANGE 等验证队列 / 栈行为。集合SetSADD/SMEMBERS/SREM/SINTER 等验证去重、交集、并集。有序集合ZSetZADD/ZRANGE/ZREM/ZRANK 等验证排序与分数计算。位图Bitmap、地理GEO、流Stream专项命令验证。2. 高级特性事务MULTI/EXEC/DISCARD/WATCH验证原子性与回滚。发布订阅PUBLISH/SUBSCRIBE验证消息实时可达。过期键SETEX/PEXPIRE/TTL验证到期自动删除、惰性 / 定期清理。Lua 脚本SCRIPT LOAD/EVAL验证脚本执行与原子性。管道Pipeline批量命令合并发送验证吞吐量与结果正确性。3. 测试方法手工验证redis-cli直接执行命令比对返回值。单元 / 集成测试python运行# pytest redis-py 示例 def test_hset_hget(redis_client): redis_client.hset(user:1, mapping{name:Bob,age:20}) assert redis_client.hget(user:1, name) bBob assert int(redis_client.hget(user:1, age)) 20二、性能测试高并发压测目标评估QPS、延迟、并发、内存、带宽定位瓶颈。1. 关键指标吞吐量QPS每秒请求数延迟Avg/P50/P95/P99 响应时间资源CPU、内存、网络 I/O、连接数命中率缓存 key 命中率info stats2. 测试工具与方法官方基准redis-benchmarkbash运行# 100并发、10万请求、SET/GET、1KB值、随机key redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 -t set,get -d 1024 -r 10000 -q参数-c并发、-n总请求、-t命令、-d字节、-r随机 key、-P管道压测工具JMeter装 Redis 插件模拟业务并发、监控聚合报告memtier_benchmark更真实流量、多命令混合、集群压测LocustPython 分布式压测自定义业务场景3. 专项场景大 Key 测试1MB 值验证读写延迟与带宽占用热点 Key单 key 超高并发验证热点竞争与性能衰减持久化开启RDB/AOF 时性能影响集群分片各节点负载均衡、跨槽请求性能三、高可用与可靠性测试目标主从、哨兵、集群故障转移、数据一致、持久化可靠。1. 主从复制主写从读、数据一致验证主宕机、手动切换、数据不丢网络中断后恢复、增量同步2. 哨兵Sentinel配置sentinel monitor mymaster 127.0.0.1 6379 2模拟主故障redis-cli -p 26379 sentinel failover mymaster验证自动选主、通知、配置更新、客户端重定向3. Redis Cluster集群创建redis-cli --cluster create ...分片验证CLUSTER NODES/SLOTS节点宕机主节点挂掉 → 从升主、槽迁移、服务可用扩缩容reshard 数据迁移、业务无中断4. 持久化测试RDB/AOFRDBsave/bgsave、文件生成、重启恢复、数据完整AOFappendfsync everysec/always、重写、破损修复、重启恢复混合持久化验证恢复效率与完整性5. 稳定性 / 老化7×24 小时持续压测redis-benchmark -l内存满maxmemory淘汰策略LRU/Random验证OOM、磁盘满、网络抖动、进程 Kill 等故障注入四、安全测试目标防止未授权访问、越权、数据泄露。密码认证requirepass、无密码访问被拒NOAUTHACL 细粒度权限用户 / 命令 /key 权限、越权访问拦截危险命令禁用rename-command CONFIG 、FLUSHDB限制TLS/SSL 传输加密连接加密、抓包无法明文bind 限制仅内网 IP、禁止公网暴露五、测试工具清单表格测试类型常用工具功能 / 命令redis-cli、redis-py/Jedis、pytest/JUnit性能压测redis-benchmark、memtier_benchmark、JMeter、Locust高可用redis-cli集群 / 哨兵、Sentinel 命令监控Redis Insight、PrometheusGrafana、redis-stat安全redis-cli ACL、nmap、Wireshark、Burp Suite六、测试流程标准步骤环境准备单机 / 主从 / 哨兵 / 集群、配置与生产一致基线测试基准性能、功能全量验证压力 / 容量逐步加压至极限、记录拐点故障注入宕机、断网、满内存、持久化切换高可用验证故障转移、数据一致、业务恢复安全扫描认证、权限、加密、暴露风险长期稳定72 小时以上、监控无异常报告输出指标、瓶颈、优化建议、准入结论七、常见问题与优化点大 Key拆分、压缩、减少单次获取热点 Key本地缓存、分片、读写分离持久化性能AOF 重写优化、RDB 低峰执行连接数高连接池、timeout、tcp-backlog调优集群倾斜key 散列、避免批量跨槽、均衡分片总结Redis 测试 功能全覆盖 性能压测 高可用故障演练 安全加固 长期稳定验证。优先用redis-benchmark做基准、redis-cli做功能 / HA、JMeter/memtier 做业务压测、监控全链路指标。