libclang translatio unit cache

Hey,

I just started looking at libclang, so my knowledge is very limited.
I tried (with the libclang python bindings) to create a translation unit for every source file in a project.
The project ist very big and the python process soon took all my computers memory, which is 12GB.

So I am wondering, does libclang support a less memory hungry cache from which global information about the project can accessed?
If there is nothing in libclang itself, are you aware of some project that does that?
It feels like this would be essential for IDEs.

Thanks!
Nathan