NHibernate.Caches.MemCache web.config для времени истечения кэша

голоса
1

Я мигрирую в NHibernate 2.0 GA, но есть некоторые проблемы с установкой истечения срока кэша в Memcached провайдера.

Я вижу в источниках NHibernate.Caches.MemCache, что есть свойство для истечения срока действия и значения по умолчанию на 300 секунд.

Есть также свойства для областей кэша, но обработчик конфигурации раздела, кажется, не отображать их.

Есть ли какие-то другие времена истечения путь кэша устанавливается, что не является поставщиком конкретных -

Вот функциональный раздел веб-конфигурации (без настройки истечения срока действия, очевидно).

<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

Насколько я понимаю, кэш истечения времени провайдер конкретны, как некоторые провайдеры кэша не поддерживают это. Кроме того, это означает, что у вас нет ситуации, когда значение 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