/
Cache usage approach
Cache usage approach
Imported From: http://groups.google.com/group/in-portal-dev/browse_thread/thread/818b4b3d9c4be91a#
We currently have 2 caching modes:
- cache page completely (only makes sense for static page - when all visitors see the same content)
- cache template parts via <inp2:m_Cache ...> cacheable content here </inp2:m_Cache> tag
I've recently talked to Slava and he suggested another caching approach:
- cache all but specific page parts, e.g. located in <inp2:m_NotCache ...>...</inp2:m_NotCache> tags
This will work this way:
- cold start (when page not cached):
- parse all <inp2: tags in requested template, but don't parse tags in <inp2:m_NotCache ...> tags
- store resulted HTML (with some non-parsed tags in it) in memory
- read cached page from memory
- parse tags, skipped during page caching process
- show page
- normal start (when we have cache):
- read cached page from memory
- parse tags, skipped during page caching process
- show page
When page mostly consists of static parts, then selecting non-static parts will be more efficient (less tags required), then marking all cacheable parts. Also it's easier to read one large part from cache, rather than a lot of small parts.
For example cache all page, but mark areas, where banners are displayed as non-cacheable.
Of course <inp2:m_NotCache tag will only make sense, when page is selected to be fully cache (in "Structure & Data" in admin console).