The NCache Redis API Wrapper enables .NET applications to migrate from StackExchange.Redis to NCache by changing only the namespace, requiring zero logic modifications. This wrapper provides a high-performance alternative to Redis on Windows and Linux, granting immediate access to enterprise features like Client Cache (In-Proc) and SQL-based querying without a full code rewrite. Redis API Wrapper is provided by NCache to facilitate a smooth transition for .NET applications currently using Redis. This wrapper allows developers to migrate their applications to NCache with minimal code modifications while benefiting from the powerful distributed caching features of NCache.
The key benefits of using the Redis API Wrapper provided by NCache are listed below.
NCache's Redis API Wrapper allows developers to replace StackExchange.Redis with NCache.StackExchange.Redis, maintaining existing Redis commands while leveraging NCache's performance benefits. This reduces migration complexity and ensures a seamless transition.
NCache is developed in .NET, runs efficiently on both Windows and Linux, ensuring smooth integration across platforms. This allows applications to run on their preferred operating system without extra overhead. In contrast, Redis runs natively on Linux, while Windows support relies on WSL or unofficial ports, adding complexity.
As an optimized .NET application, NCache performs better than Redis, which is mainly designed for Linux environments, in terms of compatibility and efficiency. This makes it an ideal choice for enterprises that rely on Microsoft technologies, providing better integration and performance.
NCache provides a Client Cache (Near Cache) that stores frequently accessed data directly within your application's process memory. By utilizing this In-Proc Client Cache, the wrapper eliminates the TCP/IP network overhead associated with standard Redis calls. This brings data access speeds closer to local memory latency, significantly improving performance for read-intensive workloads.
Using the NCache API directly provides you with the following advantages.
Supports SQL and LINQ queries to retrieve data flexibly and efficiently.
Enhances performance and consistency by supporting Read-Through, Write-Through, Cache Loader and Refresher.
NCache provides advanced Expiration, Synchronization, and Cache Dependency mechanisms to ensure data freshness, surpassing basic expiration policies of Redis.
| Feature | StackExchange.Redis (Standard) | NCache Redis Wrapper |
|---|---|---|
| Operating System | Native Linux (WSL/Ports for Windows) | Native Windows & Linux |
| Threading Model | Single-Threaded (Event Loop) | Multi-Threaded (High Concurrency) |
| Local Caching | Not Native (External logic required) | In-Proc Client Cache (Near-Cache) |
| Querying Capabilities | Key-Value Lookups only | Distributed SQL & LINQ Support |
| Runtime Environment | C-based / Non-Managed | 100% Native .NET |
| Data Consistency | TTL / Manual Expiration | Database Sync (SQL, Oracle, Cosmos) |
| Scaling Architecture | Master-Slave / Cluster | Peer-to-Peer Dynamic Clustering |
Using the steps below, you can seamlessly migrate from Redis to NCache.
Run the following command in the Package Manager Console:
Install-Package StackExchange.Redis.Wrapper.NCache
Modify your code by replacing the Redis namespace in your application:
using StackExchange.Redis;
with:
using NCache.StackExchange.Redis;
Ensure that NCache is properly configured and running. Then, update your application's configuration settings (ensure to update the cache name with your cache that you have created in the app.config file):
<configuration>
<appSettings>
<add key="CacheId" value="demoCache"/>
</appSettings>
</configuration>
Next, establish a connection in your application:
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect("demoCache");
IDatabase db = ncache.GetDatabase();
After this, you will be able to connect your StackExchange.Redis application to the NCache and execute different caching operations.
Switching from Redis to NCache enables applications to gain enterprise-level performance, better scalability, and enhanced data integrity. With features like distributed caching, server-side execution, and advanced querying, NCache stands out as a superior alternative to Redis for .NET applications.
© Copyright Alachisoft 2002 - . All rights reserved. NCache is a registered trademark of Diyatech Corp.