Memcached is a popular in-memory distributed cache used in many .NET, Java, and other high traffic applications. If you have a Memcached application that you want to migrate to Microsoft Azure, you can easily do so without making any code changes to your application.
NCache provides a Memcached Wrapper for Microsoft Azure Distributed Cache and offers you a no code change way of migrating your Memcached applications to Microsoft Azure. NCache for Microsoft Azure offers a host of very valuable caching features over Memcached including high availability, intelligent data replication, cache elasticity, and much more. See a detailed comparison of NCache with Memcached below:
You can use Memcached Wrapper for Microsoft Azure Distributed Cache in two ways. First is Memcached Plug-In for .NET and Java applications. And, second is a Memcached Gateway for all applications.
For .NET and Java applications using Memcached, Memcached Plug-In for NCache provides a no code change option to migrate from Memcached to Windows Azur Distributed Cache. Instead of recompiling your code, you only need to replace your Memcached client library (.NET assemblies) with its equivalent provided by NCache.
You can use Memcached Plug-In with the following Memcached client libraries:
Alachisoft provides you its own implementation of these Open Source libraries that talk to NCache and provide you Microsoft Azure Distributed Cache for your application.
Using Memcached Plug-In is recommended for .NET and Java applications over Memcached Gateway because the Plug-In offers faster performance over the Gateway. This faster performance is because there is no extra hop that is required in the Gateway approach.
And, the best thing is that you can use Memcached Plug-In even if your application is already deployed in production.
The other option for moving your Memcached application to Microsoft Azure Distributed Cache is to use Memcached Gateway option. Memcached Gateway is simply an NCache server process that implements both text and binary Memcached Protocol. This allows you to automatically use it instead of Memcached as Microsoft Azure Distributed Cache. Just point your Memcached application to it.
Memcached Gateway allows you to migrate any Memcached applications (even other than .NET and Java) to Microsoft Azure Distributed Cache. Memcached Gateway can be deployed either on your app servers or on separate dedicated cache servers.
In Microsoft Azure, Memcached Gateway may be deployed on your Web Role, Worker Role, or Virtual Machine serving as your application server. This Memcached Gateway then connects to NCache cluster. This the recommended deployment configuration for a Memcached Gateway solution.
The other way to deploy Memcached Gateway is on dedicated servers, maybe your Microsoft Azure Distributed Cache servers. Then, your applications simply point to it and it in turn points to NCache cluster. You should use this deployment option only if you don't want to touch your Web Roles, Worker Roles, or application server Virtual Machines.