NHibernate.Caches.MemCache web.config για το χρόνο της προσωρινής μνήμης λήξης

ψήφοι
1

Είμαι μεταναστεύουν για να NHibernate 2,0 GA, αλλά έχουν κάποια προβλήματα με τη μνήμη cache λήξεις σε memcached πάροχο.

Βλέπω στις πηγές NHibernate.Caches.MemCache ότι υπάρχει ένα ακίνητο για τη λήξη και μια προεπιλεγμένη τιμή για 300 δευτερόλεπτα.

Υπάρχουν επίσης ιδιότητες για τις περιφέρειες της κρυφής μνήμης, αλλά ο χειριστής τμήμα config δεν φαίνεται να τους χάρτη.

Υπάρχει κάποιες άλλες φορές τρόπο κρυφής μνήμης λήξης που αυτό δεν είναι συγκεκριμένο πάροχο -

Εδώ είναι το λειτουργικό τμήμα web config (χωρίς τις ρυθμίσεις λήξης προφανώς).

<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>
Δημοσιεύθηκε 09/12/2008 στις 23:06
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
1

Χρησιμοποιήστε default_expiration.

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

Έχω δει στην πηγή που η προεπιλεγμένη τιμή λήξης έχει οριστεί σε 300 δευτερόλεπτα. Αλλά μπορείτε να παρακάμψετε αυτήν την τιμή, ορίζοντας το ακίνητο default_expiration μορφή στο αρχείο ρυθμίσεων NHibernate.

Απαντήθηκε 09/05/2011 στις 07:26
πηγή χρήστη

ψήφοι
0

Σε ό, τι καταλαβαίνω, η μνήμη cache λήξη του χρόνου είναι ο παροχέας συγκεκριμένοι ορισμένοι πάροχοι μνήμη cache δεν υποστηρίζουν αυτό. Επίσης, αυτό σημαίνει ότι δεν έχετε την κατάσταση κατά την οποία η τιμή 60 σημαίνει μια ώρα σε ορισμένες περιπτώσεις και ένα λεπτό σε άλλους.

Απαντήθηκε 12/12/2008 στις 16:22
πηγή χρήστη

ψήφοι
-1

Χρησιμοποιήστε τη λήξη.

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

Μετά από αυτό, όταν εκτελείτε την εφαρμογή με την καταγραφή μπορείτε να δείτε:

NHibernate.Caches.MemCache.MemCacheClient: 20:57:55,762 DEBUG MemCacheClient:0 - using expiration of YOUR_INTERVAL_IN_SECONDS seconds
Απαντήθηκε 14/01/2009 στις 20:59
πηγή χρήστη

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