This page is kind of outdated, it talks mostly about theoretical caching and not real caching. For real caching look at the PEAR Cache_lite project and the core/hs_support.php file (probably).
Well there is page caching and more granular caching including function caching (such as database queries).
Pages are cached server-side… eventually as content and also as a whole page (including “skin” and anything from the render engine).
Server-side page caching duration (cache lifetime) is defined by the
$HS_config['cachingLifetime'] setting in config_site.php.
Defining non-cachable blocks
Is a pipe dream.
Caching function calls
Implemented but undocumented; see
core/hs_support.php (as of September 14, 2009).
Ignore following paragraph:
Names of things being cached should not have any underscores (_). Those are reserved to separate logical hierarchies; that is, within the “modules” group of caches, if a module is the “timebomb” module (I made that up), and it caches a “clock” then its name is “clock”, not “my_clock” or anything… so the effective name that cache_light sees is “timebomb_clock”. That should make sense because clock is owned by timebomb; it is beneath it in a hierarchy.