def print_memory_for_key(key, host="localhost", port=6379, db=0, password=None):
    redis = connect_to_redis(host, port, db, password)
    reporter = PrintMemoryUsage()
    callback = MemoryCallback(reporter, 64)
    parser = RdbParser(callback, filters={})
    parser._key = key

    raw_dump = redis.execute_command("dump", key)
    if not raw_dump:
        sys.stderr.write("Key %s does not exist\n" % key)
        sys.exit(-1)

    stream = StringIO(raw_dump)
    data_type = read_unsigned_char(stream)
    parser.read_object(stream, data_type)
Ejemplo n.º 2
0
def print_memory_for_key(key,
                         host='localhost',
                         port=6379,
                         db=0,
                         password=None):
    redis = connect_to_redis(host, port, db, password)
    reporter = PrintMemoryUsage()
    callback = MemoryCallback(reporter, 64)
    parser = RdbParser(callback, filters={})
    parser._key = key

    raw_dump = redis.execute_command('dump', key)
    if not raw_dump:
        sys.stderr.write('Key %s does not exist\n' % key)
        sys.exit(-1)

    stream = StringIO(raw_dump)
    data_type = read_unsigned_char(stream)
    parser.read_object(stream, data_type)
Ejemplo n.º 3
0
def print_memory_for_key(key,
                         host='localhost',
                         port=6379,
                         db=0,
                         password=None):
    redis = connect_to_redis(host, port, db, password)
    reporter = PrintMemoryUsage()
    callback = MemoryCallback(reporter, 64)
    parser = RdbParser(callback, filters={})
    #  DUMP command only return the key data, so we hack RdbParser to inject key name as parsed bytes.
    parser._key = key.encode('utf-8')

    raw_dump = redis.execute_command('dump', key)
    if not raw_dump:
        sys.stderr.write('Key %s does not exist\n' % key)
        sys.exit(-1)

    stream = BytesIO(raw_dump)
    data_type = read_unsigned_char(stream)
    parser.read_object(stream, data_type)