聊聊claudb的importRDB
序 本文主要研究一下claudb的importRDB importRDB claudb-1.7.1/src/main/java/com/github/tonivade/claudb/DBServerState.java public class DBServerState { //...... public void importRDB(InputStream input) throws IOException { RDBInputStream rdb = new RDBInputStream(input); Map<Integer, Map<DatabaseKey, DatabaseValue>> load = rdb.parse(); for (Map.Entry<Integer, Map<DatabaseKey, DatabaseValue>> entry : load.entrySet()) { databases.get(entry.getKey()).overrideAll(ImmutableMap.from(entry.getValue())); } } //...... } importRDB方法创建RDBInputStream,然后执行其parse方法进行解析,之后遍历解析结果,挨个执行databases.get(entry.getKey())