The problem
When inserting or deleting elements in the middle of ziplist, ziplist may have a cascading effect.
ziplist is already used in streams, t_zset and quicklist should also use listpack instead of ziplist.
Description of the feature
Changes:
- quicklist is compatible with the old ziplist storage format.
- Use listpack instead of ziplsit in t_zset.c.
- Use listpack instead of ziplsit in quicklist.
- Use listpack instead of ziplsit in hash.
- Personality of rdb format.
- If deep sanitization is disable, does not convert when reading rdb, because the conversion from ziplist to listpack will cause slows downs rdb loading, We should convert when quicklistNode is being accessed.
- if deep sanitization is enabled, direct ziplist to listpack conversion.