R051.Java版Redis-Replicator
不等不靠,有囧有料。攻城狮,是一种精神,亦是一种品质。
Redis-Replicator用Java实现了Redis的Replication协议,
伪装成Slave搞事情,其代码质量,架构设计,使用价值均属上乘。
本期人肉演示了readme的第三章节,补刀了些背景和场景内容。
@史荣久 / 2017-06-29 / CC-BY-SA-3.0
观看视频
内容摘要
- 从github上fork并sync一个项目。
- Redis基础文档,如持久化(RDB和AOF)
- SocketExample 伪装成Slave,是典型场景,默默搞事情。
- RdbBackupExample 备份远程redis的rdb文件。
- CommandBackupExample 备份远程redis的实时命令。
- 运行其他Example,简单梳理了主要接口和实现套路。
- 模拟断线重连的过程,iptables封端口。
- ByteArray,下标从int变成long,支持2G以上数组。
- ByteArrayMap,重写hashcode和equals的注意点。
- Java常量套路,应该枚举>类>接口的顺序。
- 作为lib级项目,易变协议,该暴露类还是接口。
参考资料
- Redis-Replicator
- git和fork一个项目
- git和upstream同步
- iptables的一些知识
- REDIS持久化,RDB和AOF:中文
- RDB格式详解
- REDIS protocol
- REDIS replication
- 如何重写hashCode()和equals()方法
- 常量是使用常量类,常量接口,还是使用枚举
- 扩展:TreeMap,LinkedHashMap区别
欢迎围观
if (you.accept(MoilionCircle.SPIRIT)) {
if(you.haveADL()){
MoilionCircle we = you.search(MoilionCircle.SLOGAN);
we.welcome(you);
}
if(you.share(this)){
We.thank(you);
We.mayFind7Moilion();
}
}
制作花絮
一不小心就月末了,差点打破了每月一录的坚持(精耕不辍挺难啊)。
本期能顺利撸完,全得力于大宝提供的思路,手稿,而且还电话聊了。
真心讲本次讲的很毛糙,我只是刷脸混了个contributors :)
看机缘,再整一期此项目的深度分享,因为自己也要深度学习啊。
题图:圈子里Redisson和Redis Lab的核心提交者送leon的`RedisConf 2017`贴纸。