is it recomended to user the EpiServer CacheManager or the stadard ASP.NET Cache when caching custom data?
And why does the EpiServer CacheManager have options for doing distributed deletes while there is no option for distributed adds to the cache?
Cheers
EPiServer uses the standard ASP.NET Cache under the covers, so I'd go for that one. It gives you more control over the cache.
All caching is done locally, thus, if you're running in a web farm, all pages needs to be loaded from the database on each server in the farm. This is normally not a problem, but the database will have more work to do initially, until things have been stored in cache on all servers.
The distributed delete is for making sure any changes done by editors are reloaded on all servers, not just the one where the save was performed.
There is a lot of dependencies created when pages are added to the cache, which makes distributed adds both complex and error prone. I'm not even sure distributed adds would give an increase in performance, as the database communication by design is very efficient.
When caching your own things, make sure you create a dependency to the EPiServer page cache, so that your things are flushed when a page is changed. See http://www.episerver.com/devforum/ShowTopic.aspx?id=8283&epslanguage=EN for an example on how to create this dependency.
/Steve