As it’s known, each TypoScript condition provokes generation of an another cached version of the page. So, if You are using lots of conditions in TypoScript, it can lead to the exponential growth of the cache in the database.
How we could solve it. For example, I have such condition on multidomain site :
[globalVar=IENV:TYPO3_HOST_ONLY = subdomain1.domain.com]
config.baseURL = http://subdomain1.domain.com/
config.googleMapKey = AAABBBCCCDDDEEEFFF
[global]
[globalVar=IENV:TYPO3_HOST_ONLY = subdomain2.domain.com]
config.baseURL = http://subdomain2.domain.com/
config.googleMapKey = AAABBBCCCDDDEEEGGG
[global]
Probably, the solution is to use more USER_INT plugins, to make internal conditions.
And, probably, it’s possible to extract cache from database into file system ?
Well, if you have any USER_INT / COA_INT on your page, some additional uncached elements will not hurt. But if you do not have any USER_INT / COA_INT on your page, you should stay with conditions.
For static caching use f.e. nc_staticfilecache, but this will only work, if there is no uncached element on your page. (In some cases, it may be worth it, to load dynamic content via AJAX, so the page can be cached)