管理NHibernate一级缓存中的实体

管理NHibernate一级缓存中的实体,nhibernate,persistence,first-level-cache,Nhibernate,Persistence,First Level Cache,在线程/会话生存期内,管理一级缓存中持久化实体的正确方法是什么?实际上,每个线程(会话)只有一个或两个持久化实例应该始终存在,以便在保存之前从其他(瞬态)实体引用它们 由于我需要每隔一段时间清除一次会话缓存(因为否则它会被填满,速度会非常慢),所以我不确定的是-我应该: 从会话中逐出所有实体(我需要的实体除外) 是否清除整个会话并重新加载必要的实体 是否创建新会话并重新加载必要的实体 我认为你应该结束上一节课,开始新的一节课。如果要缓存的对象对于每个会话都很重,那么应该使用二级缓存

在线程/会话生存期内,管理一级缓存中持久化实体的正确方法是什么?实际上,每个线程(会话)只有一个或两个持久化实例应该始终存在,以便在保存之前从其他(瞬态)实体引用它们

由于我需要每隔一段时间清除一次会话缓存(因为否则它会被填满,速度会非常慢),所以我不确定的是-我应该:

  • 从会话中逐出所有实体(我需要的实体除外)
  • 是否清除整个会话并重新加载必要的实体
  • 是否创建新会话并重新加载必要的实体

  • 我认为你应该结束上一节课,开始新的一节课。如果要缓存的对象对于每个会话都很重,那么应该使用二级缓存