What's New in NCache 4.6?

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

Big Data In-Memory Processing

MapReduce in NCache will allow developers to write programs that process massive amounts of unstructured data in parallel across a NCache cluster. To distribute input data and analyze it in parallel, MapReduce operates in parallel on all nodes in a cluster of any size.

Aggregator processes data records and returns compiled results. It groups values from multiple sources and can perform variety of operations like sum up values, calculating averages, finding minimum/maximum values etc. and returns single result.

Entry Processor: NCache provides the ability to execute users’ code on server side against a set of cache entries. Entry processors can modify cache entries on the server side without involving these entries to travel on the network for fetch and update operations.

Live Upgrade of NCache

NCache 4.4 SP2 can be upgraded to NCache 4.6 without losing any data using its Bridge topology.

Query Optimizations

Data Reader: Queries can now be executed on cache using data reader just like the databases do. Using data reader, result set can be retrieved from servers in multiple chunks of configurable size. This approach gives a better performance and uses less memory on client end.

Order-by-Clause: Select statements can now have orderby clause which will return the result set sorted on one or more specified attributes.

Log Viewer Tool

A GUI tool to view and monitor logs generated by NCache server and clients in one place. Log files of all servers can be viewed in same tool. The tool can filter log entries and important log entries can also be bookmarked.

Other Enhancements

Object Data Format: NCache cache can now be configured to store data in objects form. By default, all data is stored in binary form.

Separate Process for Cache: Each cache in NCache is now hosted in its own process which runs independent of all other caches. Management of this process is done via NCache service which has information about all the cache processes running on the machine.

Cache Level Default Expiration: User can now configure NCache with default named expirations. NCache server will use default expirations when items are either inserted into cache without any expirations or inserted explicitly with named default.

DumpCacheData Tool

NCache now provides a tool through which a dump of the cache data can be written to a location specified by the user. This tool is designed for customers that need to restart their cache servers and they want to save their business critical data being held in the cache before restarting. The DumpCacheData tool enumerates cache data in a running cache and stores this data to any specified location. This data can then be reloaded to a new cache or the same cache.

LINQPad Integration

NCache provides integration with the popular .NET utility, LINQPad so you can use LINQPad to query cache data. The resulting data is shown in the LINQPad console in tabular form. LINQPad is a software utility often used to interactively query SQL databases using LINQ, as well as to interactively write C# without the need for an IDE.

HotApplicable Settings in Service Configuration

Some settings in NCache can now be changed on running caches without the need to restart the cache. We call this “HotApplicable”. Previously, changing settings in the service configuration file, such as NCacheServer.LicenseLogging and NCacheServer.EnableDebuggingCounters required restarting the cache. The list of HotApplicable settings are provided here.

Visual Studio Integration

NCache can now be integrated with Visual Studio 2010/2012/2013 (Enterprise & Community). Basic management and configuration operations can now be performed within the Visual Studio. NCache Developer installation now comes with an ‘NCache Manager’ extension which helps developers manage NCache from Visual Studio.

Entity Framework 6.0 Support

Entity Framework 6.0 and 6.1 integration is provided in NCache. NCache also provides caching extensions for Entity Framework 6.0 which allows developers more control over which entities to cache. This is available for developers who want greater control over the entities being cached, as an alternate to the ‘no-code-change configuration’ option.

Windows Server 2012 R2 Certification

NCache is certified for Windows Server 2012 R2. It has been tested by Microsoft’s approved tester and passed all compatibility tests. Microsoft validated that NCache works in accordance with Microsoft’s standards.

NCache SDK NuGet Package

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

A NuGet package is provided for developers to build applications using NCache without installing NCache on their machines. With this package, developers can write their applications using an NCache API and test them with InProc cache. This gives you full control to use NCache SDK without installing it.

NCache in Azure Marketplace

NCache can be deployed in Microsoft Azure Virtual Machines with all its features. Additionally, the following features are available in Microsoft’s Azure environment exclusively for NCache and 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 is available in Azure Marketplace.

NCache in Amazon Web Services (AWS)

NCache can be deployed in Amazon Web Services (AWS) as Virtual Machines with all its features. In AWS, NCache can either reside on the same Virtual Machine as the applications that are using it, or on separate 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

NCache is available at AWS.

NCache is Now Open Source

NCache is also available as Open Source. NCache Open Source is released under the Apache 2.0 Open Source license. This provides 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.