Gluu always needs cached and pre-processed user data in one place in order to provide a multi-protocol SSO / access management experience to users.
There may several sources of initial (raw) user data, and this "raw" data may not be usable "as is", so it will need to be pre-processed.
It would be extremely inefficient to do this pre-processing each time an auth request needs to be served by Gluu.
Without the caching approach, it would require a query to all remote user data sources each time a user authenticates, then run all transmutations over some attributes that need to be pre-processed.