1

摘自http://nhibernate.hibernatingrhinos.com/28/first-and-second-level-caching-in-nhibernate

“二级缓存的生命周期与会话工厂而不是单个会话相关联。一旦实体通过其唯一 ID 加载并且二级缓存处于活动状态,则该实体可用于所有其他会话(相同的会话工厂)”

如果上述情况属实并且您有一个网络农场,我认为以下情况属实

1)每个应用程序(在我的情况下为每个 Web 服务器)将有一个 SessionFactory 2)每个 Web 服务器将有一个不同的二级缓存 3)加载到服务器 A 的二级缓存的数据不能被服务器 B 使用

我对么?

4

1 回答 1

1

如文章中所述,您在 NHibernate 中提到了一级和二级缓存

NHibernate 是作为企业级 OR/M 产品设计的,因此对在 Web Farm 场景中运行有很好的支持。这种支持包括与分布式缓存一起运行,包括即时场范围的更新。NHibernate 竭尽全力确保这些场景中的缓存一致性......

如果使用分布式缓存,所有服务器都会立即更新(例如丢弃陈旧数据)

也可以看看:

于 2013-01-25T10:28:13.353 回答