2009-03-11 5 views

Respuesta

3

Si se está preguntando acerca de la metodología de caché Manipulación de NHibernate, (NHibernate no almacena/recupera datos de la caché en sí, tenemos que configurar el proveedor de caché por separado para hacer eso)

Debido a la naturaleza de las aplicaciones web (Aplicación multiproceso), no podemos usar el primer nivel de caché. Pero podemos utilizar

  • segundo nivel de caché
  • caché de consultas

Durante el uso de la memoria caché, puede mostrar los datos antiguos, en los siguientes casos

  • Cuando se modifican los datos por diferentes cliente, (que no sea el cliente ASP.Net)
  • Cuando los datos se modifican mediante Triggers

Por lo tanto, asegúrese de borrar la memoria caché, cuando existen casos anteriores.


En cuanto a los proveedores de caché,

apoyo Nhibernate varios proveedores de caché, Syscache, Syscache2, Memcache, etc .. HashTable utilizo Syscache, y funciona bien. Como no he trabajado en otros proveedores de caché, no puedo compararlos.

Viejo y documentación para Nhibernate Sólo cachés http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/caches.html

Más Docs Best place for NHibernate documentation?

-1

¿El mejor caché para usar? ¿Te refieres a tipo de caché? ¿O plataforma de caché?

Hay HttpRuntime.Cache integrado. Depende de la aplicación para qué almacenar en caché.

+0

Lo que quiere decir NHibernate caché de nivel 2 de caché no aplicación general. – UpTheCreek

11

HashTable es el valor predeterminado incorporado en el proveedor de memoria caché. Se recomienda no para usar este.

  • SysCache utiliza System.Web.Caching.Cache como el proveedor de memoria caché
  • SysCache2 es básicamente el mismo, excepto que también es compatible caducidad basada en la dependencia de SQL. Requiere MSSQL 2000+.

En la mayoría de los escenarios (no Webfarm), el proveedor de SysCache debe ser lo suficientemente bueno.

Para obtener más información, visite la documentation on NHibernate.Caches

Cuestiones relacionadas