What's New in NCache 4.3 and 4.4?

For a comprehensive list of all features in NCache, please read NCache Features.

NCache is Now Open Source!

In Version 4.4 NCache will be available as Open Source. NCache Open Source is being released under the Apache 2.0 Open Source license. This will provide the .NET developer community with unrestricted access to a truly elastic native .NET Distributed Cache. For more details please refer to the Edition Comparison page.

NCache Switching to an Annual Subcription Based Pricing Model

In Version 4.4 NCache will be switching to an annual subscription based pricing model. Upon expiration the customer will need to renew the subscription to continue using NCache. Provision will also be provided for the purchase of a multi-year subscription. For more details please refer to the Pricing page.

NCache in Microsoft Azure - Microsoft Azure Caching Support

NCache can now be used in Microsoft Azure with all its features. NCache can be deployed in Microsoft Azure as Virtual Machines.

Additionally, the following features are available in Microsoft Azure environment which are not provided by any other caching solution:

  1. Sharing ASP.NET Sessions across regions
  2. WAN replication of cache across regions
  3. Memcached Wrapper for NCache

NCache can be deployed with applications from Visual Studio by using NuGet. NCache now provides a NuGet package that can be used to simplify work.

^ Top

NCache for Amazon Web Services (AWS)

NCache can now be used in the Amazon Web Services (AWS) Cloud environment with all its features. NCache can be deployed in AWS as Virtual Machines.

In AWS, NCache can either reside on the same Virtual Machine as the applications that are using it, or on seperate Virtual Machines. The following caching features are available in AWS:

  1. Sharing ASP.NET Sessions across regions
  2. WAN replication of cache across regions
  3. Memcached Wrapper for NCache

Memcached Wrapper for NCache

Memcached Wrapper for NCache provides a no-code-change way for migrating Memcached applications to a powerful elastic distributed cache. See more details on the NCache vs. Memcached comparison page.

The Memcached Wrapper for NCache can be used in the following two ways:

  1. Memcached Plug-In (for .NET apps)
  2. Memcached Gateway

The Memcached plug-in option is for .NET applications. Alachisoft has taken all the popular Open Source Memcached client libraries and implemented them for NCache. These libraries for .NET are:

  1. enyim
  2. BeIT
  3. More…

The Memcached Gateway implements Memcached Protocols and supports all types of Memcached applications. Applications are directed to the Memcached Gateway and they start using NCache behind the scenes.

^ Top

Bridge Topology Enhanced

Bridge Topology is a popular feature of NCache which allows intelligent replication of the entire cache across the WAN. NCache 4.3 offers the following new features for Bridge Topology:

Switch between Active-Active and Active-Passive

Active-passive Bridge configurations can easily be switched to active-active or reverse active-passive configurations (making the active cache passive, and the passive cache active) at runtime without stopping any of the caches or the Bridge.

This new feature is capable of handling disaster recovery situations. For example, if the active cache in an active-passive configuration goes down, the passive cache becomes active. When the cache is brought back up, it can be configured to become active again, and the currently active cache is reverted back to its original passive mode.

Active-passive configurations can also be converted to active-active configurations without stopping the cache or the application.

Connect/Disconnect Caches

Cache administrators can now temporarily disconnect caches from the bridge while the bridge is running. When a cache is disconnected, no data is transferred between the bridge and the disconnected cache. The cache on the other side of the bridge stops queuing data to the bridge as the disconnected cache is not able to receive any data. The cache can be reconnected at any time. When this happens, everything goes back to the way it was.

^ Top

Enhanced Write-through & Write-behind

  1. Cache item or not: Write-through and write-behind can now be configured to determine whether an item should be kept in the cache or not, if a write-through or write-behind operation fails in updating the database for it.
  2. Write-behind batching options: You can specify the following:
    1. Batch size: how many items to be batched together when doing database updates?
    2. Batch interval: How long to wait before processing the next batch?
    3. Retries threshold: How many retries to do if a database update fails?
    4. Retry queue eviction: How many items to evict from retry-queue if it becomes full?

Object Query Language Enhanced

Object Query Language (OQL) has been enhanced by adding two features to it. These features are:

  1. Delete statement: You can now delete cached items by specifying an attribute based criteria.
  2. Group By statement: You can now issue GROUP BY queries and obtain a result set that includes counts of items in the cache groups by attribute values.

Data Encryption Enhanced

Data encryption included 3DES encryption. This has now been enhanced to also include AES-256 encryption. Another enhancement made is to also encrypt indexing data when encryption is enabled.

Compact Serialization Enhanced

Following enhancements have been made to compact serialization.

  1. Users can select and de-select the data members to be compact serialized
  2. Byte arrays are no longer serialized
  3. You can use Hot Apply to make changes to Compact Serialization types at runtime

^ Top

Events with Data

You can now specify whether to receive data with the event or only the event. In many situations, you may want the data along with the event to guarantee that you’re getting the copy that was actually modified. This is because if you don’t receive data with events and your application then fetches the data from the cache, somebody else might have changed this data by that time.

By default, data or metadata is not sent with the events to clients.

API Calls Logging

NCache now comes with API logging feature that can be turned on through a configuration file change. This is very useful to you and Alachisoft tech support if you’re facing any issues related to NCache. You can enable this logging and NCache quickly logs all the API calls that your application is making and in what sequence.

With this information, Alachisoft tech support can quickly narrow down the potential problem and help resolve it. You can also quickly see an accounting of all the NCache API calls that various parts of your application are calling.

NCache Package in NuGet Gallery

NuGet is a package manager for Microsoft Visual Studio development in .NET. The NuGet Gallery is a central repository of all NuGet packages.

NCache now provides NuGet package for Microsoft Azure Cache. This package is for Microsoft Azure based caching by NCache. It provides NCache for Azure client libraries and client-side configuration files to facilitate your .NET development.

Enhanced CacheInitParams

CacheInitParams while initializing cache can now cover everything that can be configured in client.ncconf. Previously, client.ncconf was always required to initialize a cache. Configurations passed through CacheInitParams have an overriding effect on the settings configured in client.ncconf.

De-Serialized Data in InProc Cache

InProc cache (Local Cache and Client Cache) now keeps objects in de-serialized form. This removes the cost of serialization and de-serialization that would otherwise be needed for fetching and storing objects in the cache.

^ Top