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)
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)
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)