How often is the config file config.php consulted?

Every startup?
Every time the admin user(s) logon?
Every time the configuration is altered?
Every time a user log on?
- If so, does that include users from, say, an Active Directory?
Every time the database is accessed?
Every time a user connects to external storage (to decrypt the password stored in the database)?
Is it possible to move the config file to another location or even to memory?