i have a number of application variables that i store once but access
frequently (a few times per page). the simple question is "should i be
read-only locking every time i access an application variable" but i guess this
is really an open-ended question on the usage and best-practice of application
variables.

for instance i need to show some data from a database on (nearly) every page
in my app (sometimes more than once) - this data changes rarely. ideally i
would want to keep that query in an application variable and i can understand
the need to use a lock each time i read the data.

on the other hand i have lots of little application variables (DSN, cfcRoot,
wwwRoot) that are used frequently throughout a page/request (data never/rarely
changes), would i have to lock the application each time i access one or should
i instead use the request scope?

from reading numerous articles from around the web my opinion is that perhaps
i should use the request scope for the simple, much-used variables and the
application scope for more complex variable (query, xml, cfc).

could anyone offer any light on the issue?

thanks,

ben