Redis is an in-memory key-value store developed in C/C++ with clients for various programming languages like .NET, Java, and C. It has features to tackle critical issues such as eviction, Pub/Sub, and more. However, it falls short in some fundamental aspects. And if these missing components present a problem for you or your business, NCache is an excellent prospective solution.
NCache, similar to Redis, is an open-source, in-memory distributed cache for .NET, Java, Node.js, and Scala applications. Unlike Redis, it also answers all these concerns effectively and provides additional features absent in Redis, making it an ideal replacement.
Traditional disk-based RDBMS systems have utterly failed to answer these concerns comprehensively. And in the face of ever-increasing demand for high-speed data access, integrity, and fault tolerance in the contemporary application arena – these features concerning security, preloading, etc., are more necessary than ever. As such, the following are a few additional features that NCache supports.
Security & Encryption
Many applications in need of distributed cache deal with sensitive, highly confidential data. For instance, banks and airlines are among the regular clientele of such products. Therefore, security and encryption are critical when talking about data storage and retrieval. Redis supports authentication and TLS encryption. But data is not always in transit, and NCache provides industry-leading encryption options to encode the stored data. These options include:
- AES-FIPS 128
- AES-FIPS 192
- AES-FIPS 256
Read-through & Write-through
Read-through and write-through are familiar concepts in the domain of distributed caching. However, we’ll reiterate for those unaware. Read-through refers to your application always asking the cache for data and getting it from your data source if it doesn’t have it. This mechanism simplifies your application code (cache API is easy to use compared to most database APIs). Additionally, since the application treats the cache as the main data store – reading and writing data from it – the application is relieved of this responsibility.
Similarly, write-through allows your application to write to the cache, and the cache then writes the same data to the database either synchronously or asynchronously. Both these features let you designate the distributed cache as your enterprise data store and have all applications read from it and write to it. The cache then deals with the database. This results in the cache always being synchronized with your database. Despite its importance, Redis lacks the standard implementation of this feature. Fortunately, this is not the case for NCache.
The effectiveness of a distributed cache also depends on your ability to administer and monitor it. Such managerial activities are most straightforward via a GUI tool. Unfortunately, Redis does not provide any GUI tools for its cache administration or monitoring – with only command line tools available.
Alternatively, NCache provides powerful GUI-based like NCache Manager and NCache Monitor for cache administration and monitoring. However, if you prefer command-line tools (as you can use them in scripts for automation), it also provides command-line tools like NCache PowerShell & Command Prompt.
ASP.NET View State Caching
View State is a powerful mechanism that Microsoft employed to store pages, controls, and custom values between multiple HTTP requests across clients and servers. This View State passes as encrypted text that becomes very large in cases involving forms with numerous controls, for example, Data Grid controls. Such large amounts of data raise two primary concerns:
- Security risks
- Bandwidth usage
NCache provides this exact functionality in the form of ASP.NET View State Caching, whereas Redis does not.
Cache Loader & Refresher
One of the most significant performance costs any caching-based system has to deal with is at the beginning – when the cache is empty of data and is slowly populating itself. As such, the system faces the cost of numerous trips to the database as the cache populates.
To avoid this cost, NCache provides the Cache Loader & Refresher, which allows you to identify frequently used data at configuration time and preload them. The refresher runs at set intervals to prevent this data from going stale.
Similarly, Redis allows users to bulk-load data before starting the cache. However, using the regular Redis client for this is ill-advised – as the process is slow and repetitive as per the company itself. Additionally, mass importing this data via a generated text file with the Redis protocol is unnecessarily complex.
Clearly, if you are looking for quality performance, ease of use, and a variety of unique features – NCache is the way to go for all your distributed caching needs. So, why wait? Start your free trial now and make the switch!