Tuesday, October 24, 2013
NCache 4.1 SP3 contains some important enhancements and major bug fixes related to the stability of the cache. It is a recommended upgrade for all NCache 4.1 users.
Following are some enhancements made in this release:
NCache session store provider for ASP.NET session caching now has the ability to retry any cache operation if operation fails. Add the following attributes in the NCache session store provider settings:
Operation retries in object cache provider NCache Object Cache provider for .NET4x now has the ability to retry any cache operation if operation fails.
Add the following entry under the <appSettings> in application config file (app.config or web.config) like:
<add key="operationRetries" value="3"/>
<add key="operationRetryInterval" value="2000"/>
'operationRetryInterval' is the value in milli secondsA new feature is implemented in ViewState caching, which allows grouping of viewstate of related pages. This will provide more control for viewstate caching. Using this feature it is possible to cache different groups of veiwstate in different caches, or cache veiwstate using different expirations for each group of viewstate.
This enhancement in NCache ViewState caching module provides the option to restrict the number of viewstate per page in cache. Add the ‘maxViewStatesPerSession’ attribute in the ‘<settings …> tag under the ‘ncContentOptimization’ tag. This attribute take value in integers.
At Cache start, Cache startup loader is not started instantly. Its start is delayed for
20 seconds after cache start. This delay is configurable by using the following
attribute in ‘Alachisoft.NCache.Service.exe.config’ file:
Add the following entry under the <appSettings> in NCache service config file like:
<add key="NCacheServer.CacheLoaderStartupDelay" value="20"/>
Default value for this attribute is 20 seconds.
To avoid partial cluster connectivity problems when caches are started
simultaneously using auto-start feature, a delay can be introduced.
Add the following entry under the <appSettings> in NCache service config file like:
<add key="NCacheServer.CacheStartDelay" value="3"/>
Default value for this attribute is ‘3 seconds’.
‘IndexNotDefined’ exception is thrown to the client, when it queries an attribute that
is not indexed. This problem can occurred easily when NamedTags are used as
indexes are created for NamedTags at runtime. Now it is configurable to suppress
this exception.
Add the following entry under the <appSettings> in NCache service config file like:
<add key="NCacheServer.DisableIndexNotDefinedException" value="true|false"/>
Client app can be configured to consume all of the received events ‘Synchronously’
or ‘Asynchronously’. Default event consumption mode for NCache Client is
‘Asynchronous’ but events can be consumed on client side ‘Synchronously’.
Add the following entry under the <appSettings> in client application ‘App.config’ file
like:
<add key="NCacheClient.AsynchronousEventNotification" value="true|false"/>
<add key="NCacheClient.NumberofEventProccesingThreads" value="2"/>
For synchronous event processing mode, in this example 2 threads are used but it is
configurable to adjust the event processing needs according to the client application
requirements. Default minimum value is ‘1’ and default maximum value is ‘5’.
New Server Side Counter:
New client side counters:
Now cache clear call will fire the ItemRemoved events for all those keys which exist in a ContinuousQuery result set.
If there is a client cache enabled and a lot of items are being expired from the L2 cache then L2 sends item expiry events to client cache (L1 cache) to remove these items from its local store. This hurts the performance of active clients and utilizes high CPU. Now client cache (L1 Cache) will also maintains the expiry of items, and L2 cache will not send the expiry events to L1 cache.
NCache provided EFCaching module is enhanced for EF query analysis and caching.
Now bridge service can be configured to start the specified bridges on service start.
To configure a bridge to start automatically when a bridge service
(Alachisoft.NCache.Bridge.exe) gets started / restarted. Uncomment the following
tag in ‘Alachisoft.NCache.BridgeService.exe.config’ file and provide the bridge
name(s) which are configured on current machines, like:
<add key=" NBridgeServer.AutoStartBridges" value="Bridge-1,Bridge-2"/>