RedisShake
RedisShake copied to clipboard
[ASoC] 适配、支持 Redis 7.0
活动官网
https://asoc2022.opensource.alibaba.com/
题目描述
Redis 7.0已经GA,涉及到RDB格式的一些变化,如RDB版本号更新为10,使用了listpack替换ziplist编码,以及新增了function持久化机制,这些都需要在shake中适配。
任务目标
1、适配redis 7.0的RDB version 2、支持Listpack编码的hash/zset数据类型(包括大key拆分) 3、适配redis functions的load 4、添加redis 7.0相关的CI test
项目技术要求
熟悉Golang、Python,了解redis数据复制和迁移原理
题目难度
高
导师信息
Qu Dong ,@chenyang8094,ASoC Mentor, redis contributor. [email protected](联系导师请附上个人简历)
7.0 release notes: https://raw.githubusercontent.com/redis/redis/7.0/00-RELEASENOTES
TODO 适配redis 7.0版本的RDB格式
- [ ] 支持ListPack编码的hash/zset数据类型
- RDB_TYPE_HASH_LISTPACK:在hash中以listpack结构代替ziplist结构 https://github.com/redis/redis/pull/8887
- RDB_TYPE_ZSET_LISTPACK:在zset中以listpack结构代替ziplist结构 https://github.com/redis/redis/pull/9366
- [ ] 适配redis functions的load:redis7.0新增function,可以在RDB文件中持久化,可以通过RDB文件加载其它Redis服务器上的function https://redis.io/docs/manual/programmability/functions-intro/