While we wait for Microsoft to finish Velocity, its attempt at building distributed memory cache for the .NET platform, we turn to other more established vendors. One such vendor is Alachisoft's and its NCache product. Currently Alachisoft offers both a free and a paid SKU, the latter supporting NHibernate.
Though ready for production use, NCache Express is rather limited in its capabilities. The maximum cache size is a paltry 500 MB and can be replicated only over two servers. Partitioning, mirroring, and client-side caches are only available in the paid editions.
Unlike the enterprise version, the express edition also does not support key and database based dependencies, event notification, asynchronous operations, bulk operations, queries, ASP.NET session state or WMI monitoring. With such a wide feature gap between the versions, one has to wonder if the Express edition serves any purpose.
The paid edition is not exactly cheap, but it should be within the budgets of companies large enough to need it. It starts at $995/CPU for up to 6 processors. At 7 to 20 processors, the price jumps to $1495/CPU. Developer versions are a rather excessive $495/user and sites needing more than a 20 CPU cluster need to call for pricing.
Despite these objections, one should not overlook what NCache does bring to the table. The full version has an impressive array of features including the ability to act as a level 2 cache for NHibernate. Java clients are supported, offering another way to share information between the two platforms.
The security features in NCache are somewhat questionable. When turned on, client applications must 'login' by sending a username and password in clear text. This is in turn validated against Active Directory. Considering that public/private key encryption is well known, this is a questionable decision on Alachisoft's part.