A excerpt from http://nhibernate.hibernatingrhinos.com/28/first-and-second-level-caching-in-nhibernate
"The life time of the second level cache is tied to the session factory and not to an individual session. Once an entity is loaded by its unique id and the second level cache is active the entity is available for all other sessions (of the same session factory)"
If the above is true and you have a web farm I think the following is true
1) there will be a SessionFactory per application (each web server in my case) 2) there will be a distinct 2nd level cache for each web server 3) data loaded in to the 2nd level cache for server A cannot be utilised by server B
Am I correct?