<memcache>
<memcached host="127.0.0.1" port="11211" weight="2" />
</memcache>The weight attribute correspond to SockIOPool.Weight property in Memcached.ClientLibrary, representing the buckets number assigned to the server. In other words it indicates the load ability among the MemCached servers.
4. Tell NHB which cache provider class you are using in hibernate.config:
<add key="hibernate.cache.provider_class" value="NHibernate.Caches.MemCache.MemCacheProvider,NHibernate.Caches.MemCache" />
In the end don't forget to give out your cache strategies in your .hbm files or queries.
The following is the configuration properties that can be used in the <session-factory> node in hibernate.config (documentations from .NET memcached client library): failover(bool): If this flag is set to true and a socket fails to connect, the pool will attempt to return a socket from another server if one exists. If set to false, then getting a socket will return null if it fails to connect to the requested server. initial_connections(Int32): the initial number of connections per server setting in the available pool. maintenance_sleep(Int64): the sleep time(in milliseconds) between runs of the pool maintenance thread. If set to 0, then the maintenance thread will not be started. max_busy(Int64):the maximum busy time(in milliseconds) for threads in the busy pool. max_connections(Int32):the maximum number of spare connections allowed in the available pool. max_idle(Int64): the maximum idle time for threads in the avaiable pool. min_connections(Int32): the minimum number of spare connections to maintain in the available pool. nagle(bool): the Nagle algorithm flag for the pool. If false, will turn off Nagle's algorithm on all sockets created. socket_timeout(Int32): the socket timeout(in milliseconds) for reads. socket_connect_timeout(Int32): the socket timeout(in milliseconds) for connects.