I might wrong with my short memory, but as far as I remember DDS was using cache dependencies to invalidate the cache. So every time dependant object changes - cache is invalidated. Looking at source of the the DDS provider, not quite sure that there is "external" cache lifetime configuration option available.
It seems the DDS the default cache time is approximately 10 minutes. Is there a way to change that? I'd like to lower it to about 1 minute in certain cases.