Caching
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).
Page Caching
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.
Page caching is a per-page option and is enabled or disabled by default according to the page type.
Defining non-cachable blocks
Is a pipe dream.
Caching function calls
Implemented but undocumented; see core/hs_support.php
(as of September 14, 2009).
Module Caching
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.