Loading... Please wait...Call us toll free: 1 855 9 XTREME | +1 855 9 987 363
NCache is a high performance in-memory object caching solution for mission critical .NET applications with real-time data access needs. NCache not only lets you cache read-only data but also complex transactional data with relationships. As a result, your application can cache most of its data and dramatically improve performance. NCache provides:
NCache Features
Light-weight .NET Client
NCache now has a light-weight client that is more scalable and faster than 3.0. This light-weight client uses our own socket level protocol to talk to NCache server (either locally or remotely).
Light-weight Java Client
NCache does not rely on any Java-to-.NET interoperability bridge and instead uses its own socket level protocol to talk to the NCache server (just like the .NET light-weight client). Now you can have your Java applications use NCache as a clustered object cache. This protects your investment in NCache and allows you to keep one cache deployed and used by multiple applications. Java client works the same way as .NET client. The Java client can run on any Java compatible platform.
Failover in Remote Light-weight Clients
Both Java and .NET light-weight clients have failover capability. This means that if the primary server they're connected to goes down, they'll automatically connect to another server in the cluster. And, you can specify the priority of these servers for each client differently. Additionally, when new servers are added or removed at runtime, this information is passed on to the remote clients so they can use them for failover as well.
Security
NCache now provides security with authentication and authorization built into the product. Authentication is done through LDAP. NCache allows you to specify administrators and users. Administrators can manage the cluster while the users can only make runtime API calls to a specific cache.
Application Connects to Multiple Caches
NCache client applications can now connect to multiple caches simultaneously. This allows you to keep multiple caches for different purposes and share them across applications more effectively.
Multi-key Event Notifications
Applications can register interest into multiple items in the cache to be notified when they're updated or removed. Then, whenever these items are updated or removed, the client application is notified anywhere in the cluster.
Synchronize Items in Multiple Caches
A new cache dependency called CacheSyncDependency is added that allows items in one cache to be dependent on items in another cache. This way, for example, you can have a Local Cache that keeps items frequently used by your application and a Clustered Cache that keeps a larger number of items being shared with other applications. And, your local items are kept synchronized with the clustered cache so you never have any data integrity problems while improving your app performance even further.
Cluster Management Events
NCache fires events whenever a node joins or leaves the cluster or when a client finds that its server has gone down and it now needs to connect with another server. You can write hooks for these events and take appropriate actions when these events occur.
Cache Management API
You can now manage the cache through and API (in addition to NCache Manager and command line tools). You can start or stop a cache from an API now.
Multiple Cache Instances on same Server (TCP Port Range)
You can now run multiple cache instances (as InProc) on the same server without any port conflict. Now, you can specify a range of TCP ports to be used for cache clustering instead of only one port previously. This way, multiple instances of the cache can run with each instance using one port.
Callbacks for Async operations
You can now specify a callback for AddAsync, InsertAsync, and RemoveAsync operations. This callback is called when the operation completes either successfully or with a failure.
Performance Improvement to Partitioned Cache with Replicas
NCache has now optimized communication in the cluster for this topology.
Native .NET Clustering
· NCache developed natively in .NET
· Truly scalable peer-to-peer multicasting clustering
· Automatic and transparent node failure recovery
· On the fly addition and removal of servers
Caching
· Easy to understand API
· Same API for Local or Clustered environments
· Cache configuration through a graphical tool (NCache Manager)
· Fixed or variable sized cache
· Time-to-live expiration of cache entries
· Fixed-time expiration of cache entries
· Idle-time expiration of cache entries
· Least-Recently-Used (LRU), Lease-Frequently-Used (LFU), and Priority based Eviction Policies
· Expired Items Resynchronization
· SQL and OleDB Cache Dependency
· Support for custom dependencies
· Event Notifications in Local and Clustered environments
· In-process and out-of-process cache configurations
· Heap, raw memory, memory mapped file, and file based storage options.
· Intelligent relationship management through File and Key based dependencies
· Read-through and Write-through caching
· High performance Write-behind caching
· Clustered Location Transparency
· Clustered Lock Management
Clustering Options
· Replicated Cache
· Partitioned Cache
· Client Cache
· Data-less Nodes
· UDP and TCP based Cluster
HTTP Clustered Session Management
· Maintain and synchronize session state throughout a server farm
· Users can now move from server to server on each http request
· Achieve optimum load-balancing (no more sticky sessions needed)
· No single-point-of-failure due to sophisticated clustering topologies
· Built on top of NCache clustering to true in-memory performance
· Same API as Clustered Session State
GUI Based Cache Configuration
· NCache Manager is a Windows GUI
· Create and manage Local Cache or Clustered Cache from it
· View rich statistics on the entire clustered cache from a single point
· Change clustering topology without affecting the client application
· Add or remove nodes from the cluster at run-time
Client Side Optmization for Partitoned and Partitioned Replica
Partitioned Cache and partitioned of replica can now be further optimized using NCache client side optimization. Client side optimization is actually a transfer of hash map from server to client side. NCache uses a range based hash code mapping to determine where a particular data should be kept for Partitioned and Partitioned of Replica cache.
Bridge Topology
Bridge topology is used to asynchronously replicate the caches that are located at different geographical regions.
Locking Cached Items
NCache provides an exclusive lock mechanism where reads and writes access to a cached item is blocked until the holder of lock releases the lock.
Session Locking in NCache Session Store Provider
NCache Session Store Provider provides the functionality that exclusively locks the session-store item for a particular session when it begins processing the first request, causing other requests targeting the same session to wait for the lock to come free.
Addition of some useful counters
There is addition of some more useful counters to both NCache and client.
Application level config.ncconf and client.ncconf
Modules which depend on config.ncconf and client.ncconf now first look them in application folder and if not found, look in install directory.
Notification based oracle cache dependency
Notification based oracle cache dependency is provided where oracle database itself notifies the cache and cache expires the out of sync items.
NCache's Integration with MS Caching Application Block (CAB)
NCache provides seamless integration with MS Caching Application Block (CAB), by providing its custom cache manager. This applies to Microsoft's EntLib 4.0 only.
Using sessions in geographically separated webfarms
Location Affinity for sessions allows session state to be maintained across different web farms on geographically separated locations.
Command Line Activation
NCache can now also be activated from a command line. This will help automate the process of NCache Activation.