NHibernate.Caches.MemCache web.config für Cache-Ablaufzeit

stimmen
1

Ich bin der Migration auf Nhibernate 2.0 GA aber haben einige Probleme mit Cache Exspirationen in Memcached Anbieter setzen.

Ich sehe in den NHibernate.Caches.MemCache Quellen, dass es eine Eigenschaft für Ablauf und ein Standardwert für 300 Sekunden.

Es gibt auch Eigenschaften für den Cache-Regionen, aber die Konfigurationsabschnittshandler scheint sie nicht zu kartieren.

Gibt es eine andere Art und Weise Cache Ablaufzeiten sind so eingestellt, dass nicht Anbieter spezifisch ist -

Hier ist funktionaler Web-Config Abschnitt (ohne Verfall Einstellungen offensichtlich).

<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>
Veröffentlicht am 09/12/2008 um 23:06
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
1

Verwenden Sie default_expiration.

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

Ich habe in der Quelle, die der Standardablaufwert auf 300 Sekunden eingestellt wird gesehen. Aber Sie können diesen Wert überschreiben, indem default_expiration Eigenschaft Form der Datei NHibernate-Konfiguration einrichten.

Beantwortet am 09/05/2011 um 07:26
quelle vom benutzer

stimmen
0

Soweit ich verstehe, ist der Cache-Ablaufzeit-Anbieter spezifisch wie einige Cache-Provider dies nicht unterstützen. Außerdem bedeutet es, dass Sie nicht die Situation, wo ein Wert von 60 bedeutet eine Stunde in einigen Fällen und eine Minute in anderen.

Beantwortet am 12/12/2008 um 16:22
quelle vom benutzer

stimmen
-1

Verwenden Ablauf.

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

Danach, wenn Sie App mit Protokollierung ausführen können Sie sehen:

NHibernate.Caches.MemCache.MemCacheClient: 20:57:55,762 DEBUG MemCacheClient:0 - using expiration of YOUR_INTERVAL_IN_SECONDS seconds
Beantwortet am 14/01/2009 um 20:59
quelle vom benutzer

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