NHibernate.Caches.MemCache web.config para o tempo de expiração de cache

votos
1

Eu estou migrando para Nhibernate 2.0 GA, mas tem alguns problemas com a configuração expirações de cache no provedor memcached.

Vejo nas fontes NHibernate.Caches.MemCache que existe uma propriedade para expiração e um valor padrão para 300 segundos.

Há também propriedades para regiões de cache, mas o manipulador de seção de configuração não parece mapeá-los.

Existe alguma outra tempos de expiração de cache maneira são definidas que não é fornecedor específico -

Aqui está a seção de configuração web funcional (sem um configurações de vencimento 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 09/12/2008 em 23:06
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Use default_expiration.

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

Eu vi na fonte que o valor de expiração padrão está definido para 300 segundos. Mas você pode substituir esse valor definindo a propriedade default_expiration forma o arquivo de configuração NHibernate.

Respondeu 09/05/2011 em 07:26
fonte usuário

votos
0

Até onde eu entendo, o tempo de cache de expiração é fornecedor específico, como alguns provedores de cache não suportam isso. Além disso, isso significa que você não tem a situação em que um valor de 60 significa uma hora em alguns casos e um minuto em outros.

Respondeu 12/12/2008 em 16:22
fonte usuário

votos
-1

Use validade.

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

Depois disso, quando você executar aplicativos com o registo você pode ver:

NHibernate.Caches.MemCache.MemCacheClient: 20:57:55,762 DEBUG MemCacheClient:0 - using expiration of YOUR_INTERVAL_IN_SECONDS seconds
Respondeu 14/01/2009 em 20:59
fonte usuário

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