redis-cli -p 6380 PING
redis-cli -p 6380 SET key value
redis-cli -p 6380 GET key
redis-cli -p 6380 LPUSH list a b c
redis-cli -p 6380 LRANGE list 0 -1
redis-cli -p 6380 HSET user name alice age 20
redis-cli -p 6380 HGETALL user
redis-cli -p 6380 EXPIRE key 10
redis-cli -p 6380 TTL key
MiniRedis17
一个面向教学的 Redis 风格内存数据库服务器,使用 C++17 编写,设计为类似 MIT/CMU 系统课程的课程项目。
当前仓库状态
当前路径是学生 starter 版本:实现文件中保留完整函数签名,并用
TODO(Task N)标出学生需要填写的函数体。完整参考实现已复制到本机项目外:默认只打开 Task 0 公开测试。推进到第 N 个任务时重新配置:
学习目标
完成本项目后,学生将理解:
架构概览
模块说明:
支持的命令
不支持的功能
Redis Cluster、主从复制、Sentinel、Lua 脚本、ACL、TLS、RDB、Streams、有序集合、Bitmap、HyperLogLog、GEO、模块、多线程执行、分布式共识。
环境要求
构建
运行测试
启动服务器
用 redis-cli 测试
任务顺序
按顺序完成任务:Task 0 → Task 1 → … → Task 8
目录结构
学术诚信
本项目用于学习。学生应:
许可证
仅限教学使用。