Class RdbParser

    • Method Detail

      • parse

        public long parse()
                   throws IOException
        The RDB E-BNF

        RDB = 'REDIS', $version, [AUX], [MODULE_AUX], [FUNCTION], {SELECTDB, [RESIZEDB], {RECORD}}, '0xFF', [$checksum];

        RECORD = [EXPIRED], [IDLE | FREQ], KEY, VALUE;

        SELECTDB = '0xFE', $length;

        AUX = {'0xFA', $string, $string}; (*Introduced in rdb version 7*)

        MODULE_AUX = {'0xF7', $module2}; (*Introduced in rdb version 9*)

        FUNCTION = {'0xF6', $function}; (*Introduced in rdb version 10*)

        RESIZEDB = '0xFB', $length, $length; (*Introduced in rdb version 7*)

        EXPIRED = ('0xFD', $second) | ('0xFC', $millisecond);

        IDLE = {'0xF8', $value-type}; (*Introduced in rdb version 9*)

        FREQ = {'0xF9', $length}; (*Introduced in rdb version 9*)

        KEY = $string;

        VALUE = $value-type, ( $string

        | $list

        | $set

        | $zset

        | $hash

        | $zset2 (*Introduced in rdb version 8*)

        | $module (*Introduced in rdb version 8*)

        | $module2 (*Introduced in rdb version 8*)

        | $hashzipmap

        | $listziplist

        | $setintset

        | $zsetziplist

        | $hashziplist

        | $listquicklist (*Introduced in rdb version 7*)

        | $streamlistpacks); (*Introduced in rdb version 9*)

        | $zsetlistpack); (*Introduced in rdb version 10*)

        | $hashlistpack); (*Introduced in rdb version 10*)

        | $listquicklist2); (*Introduced in rdb version 10*)

        | $streamlistpacks2); (*Introduced in rdb version 10*)

        Returns:
        read bytes
        Throws:
        IOException - when read timeout