NHibernate.Caches.MemCache web.config para el tiempo de caducidad de la caché

votos
1

Estoy migrando a Nhibernate 2.0 GA pero tengo algunos problemas para configurar las caducidades de caché en el proveedor de memcached.

Veo en las fuentes de NHibernate.Caches.MemCache que hay una propiedad que expira y un valor predeterminado de 300 segundos.

También hay propiedades para regiones de caché, pero el manejador de sección de configuración no parece asignarlas.

¿Hay alguna otra manera en que los tiempos de caducidad de la caché estén establecidos que no sean específicos del proveedor?

Aquí está la sección de configuración web funcional (sin una configuración de caducidad obviamente).

<memcache>
    <memcached host=127.0.0.1 port=11211/>
    <!-- or multiples -->
</memcache>

<hibernate-configuration xmlns=urn:nhibernate-configuration-2.2>
    <session-factory>
        <property name=show_sql>true</property>
        <property name=connection.provider >NHibernate.Connection.DriverConnectionProvider</property>
        <property name=dialect>NHibernate.Dialect.MsSql2000Dialect</property>
        <property name=connection.driver_class>NHibernate.Driver.SqlClientDriver</property>
                <!--    <property name=hibernate.cache.provider_class value=NHibernate.Caches.MemCache.MemCacheProvider,NHibernate.Caches.MemCache /> -->
        <property name=connection.connection_string>Data Source=stage2.ripple6.com;Initial Catalog=r6stage;User Id=sa;Password=mworld7650;Application Name=Hibernate;</property>
        <property name=connection.isolation>ReadCommitted</property>
        <property name=cache.use_second_level_cache>true</property>
        <property name=cache.provider_class>NHibernate.Caches.MemCache.MemCacheProvider,NHibernate.Caches.MemCache</property>
        <property name=default_schema >r6stage.dbo</property>
    </session-factory>

</hibernate-configuration>
Publicado el 09/12/2008 a las 23:06
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
1

Utilice default_expiration.

<property name="default_expiration" >YOUR_INTERVAL_IN_SECONDS</property>

He visto en la fuente que el valor de caducidad predeterminada se establece en 300 segundos. Pero se puede reemplazar este valor estableciendo la propiedad default_expiration forma el archivo de configuración de NHibernate.

Respondida el 09/05/2011 a las 07:26
fuente por usuario

votos
0

Por lo que yo entiendo, el tiempo de caducidad de la caché es específico del proveedor ya que algunos proveedores de caché no lo admiten. Además, significa que no tiene la situación en la que un valor de 60 significa una hora en algunos casos y un minuto en otros.

Respondida el 12/12/2008 a las 16:22
fuente por usuario

votos
-1

Use vencimiento

<property name="expiration" >YOUR_INTERVAL_IN_SECONDS</property>

Después de eso, cuando ejecutas la aplicación con el registro, puedes ver:

NHibernate.Caches.MemCache.MemCacheClient: 20:57:55,762 DEBUG MemCacheClient:0 - using expiration of YOUR_INTERVAL_IN_SECONDS seconds
Respondida el 14/01/2009 a las 20:59
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more