数据库压缩到底怎么做?
复制ssize_t rdbSaveLzfStringObject(rio *rdb, unsigned char *s, size_t len) {
...
comprlen = lzf_compress(s, len, out, outlen);
if (comprlen == 0) {
zfree(out);
return0;
}
ssize_t nwritten = rdbSaveLzfBlob(rdb, out, comprlen, len);
...
}
ssize_t rdbSaveLzfBlob(rio *rdb, void *data, size_t compress_len,
size_t original_len) {
...
/* Data compressed! Lets save it on disk */
byte = (RDB_ENCVAL<<6)|RDB_ENC_LZF;
if ((n = rdbWriteRaw(rdb,&byte,1)) == -1) goto writeerr;
nwritten += n;
...
}
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.
THE END