redis下的持久化保存

rdb.h   rdb.c  --->  完成数据保存到临时文件,再利用rename保存到指定文件的过程;

如果需要写一个数据持久化保存的功能时,可以参考这部分代码;

 1 //rdb API
 2 int rdbSaveType(rio *rdb, unsigned char type);
 3 int rdbLoadType(rio *rdb);
 4 int rdbSaveTime(rio *rdb, time_t t); 
 5 time_t rdbLoadTime(rio *rdb);
 6 int rdbSaveLen(rio *rdb, uint32_t len);
 7 uint32_t rdbLoadLen(rio *rdb, int *isencoded);
 8 int rdbSaveObjectType(rio *rdb, robj *o);
 9 int rdbLoadObjectType(rio *rdb);
10 int rdbLoad(char *filename);
11 int rdbSaveBackground(char *filename);
12 void rdbRemoveTempFile(pid_t childpid);
13 int rdbSave(char *filename);
14 int rdbSaveObject(rio *rdb, robj *o);
15 off_t rdbSavedObjectLen(robj *o);
16 off_t rdbSavedObjectPages(robj *o);
17 robj *rdbLoadObject(int type, rio *rdb);
18 void backgroundSaveDoneHandler(int exitcode, int bysignal);
19 int rdbSaveKeyValuePair(rio *rdb, robj *key, robj *val, long long expiretime, long long now);
20 robj *rdbLoadStringObject(rio *rdb);
原文地址:https://www.cnblogs.com/xuxu8511/p/3367890.html