This question has previously been asked, but that was a year ago and I wanted to know if there had been any developments since then.
Basically we'd like to use a MemCached Server on a Windows Server 2008 R2 machine... which is only x64, obviously.
I haven't found any details on a Win64 version of MemCached, but there is still the solution from the previous thread (which I haven't tried yet) to use a bit of software called MemCacheD Manager running MemCached 1.2.6. However, the current version of MCd is 1.4.4 and I was wondering if there had been any improvements since then.
While I may not have quantitative data to highlight the differences between all these codebases, I still think the answer is "you don't want to do that".
Memcached is pretty deeply immersed into Unix and the Unix style kernel semaphores. Getting it to run as fast on Windows would require major effort; and this effort doesn't have any sponsors right now...
You should look at:
Sharedcache -- open source, mature.
Appfabric -- from Microsoft, quite mature despite being "late beta".
NCache -- commercial, I don't know much about it.
StateServer and family -- commercial, mature.
Edit: If you prefer Memcached, then there is nothing to stop you from using it -- but would it perhaps be easier to put a couple of Unix boxes on your network, run the Memcached server on the Unixes, and use f.x. the Enyim client from your Windows boxes to the servers?
Update 2011: This old answer popped up again, when the "provincial" comment was added below. Things have changed since the answer was given, the x64 Windows port of Memcached has a steady sponsor now.
Membase is built on top of Memcached, and to quote from Membase's page: "If desired, Membase can be configured to provide only Memcached services [...], disabling database functionality.".
I don't have any personal experience with Membase, but it seems worth checking out if you need Memcached on Windows x64.
I think NorthScale Memcached Server is the solution.
I'm using MemCached 1.2.6 on Windows 2003 x64 without a problem. It's running in 32-bit mode, so the amount of memory that can be allocated might be limited. If that's an issue: run multilple instances on different ports.
I know this is not an answer to your question about MemCached in 64-bit, but it might help to know it works flawlessly in 32-bit on Windows x64.
We're currently running memcached 1.2.6 on Windows 2003 R2 x64 and have been for quite a while. It runs like a champ. As I recall we did not use MemCacheD Manager.
To test it, I just downloaded 1.2.6 again on my Windows 7 x64 workstation. I had to change the compatibility to always run as administrator, but once I did that I was able to run memcached -d install and, after the obligatory prompt, it installed the service for me.
While it would be nice to have a native 64bit port, we haven't seen any issues running it this way in more than a year. We haven't had any problem with the amount of allocated memory yet either, but we will simply run multiple instances if that arises.
Answer: There haven't been any developments since the question was last asked. There are no rumblings of an x64 version of MemCached anywhere.
On windows you might be better off using appfabric
I am running in to the issue of allocating the memory more than 2GB to memcached as service in windows x64 bit .NET version.
I want to use nearly 30 GB of RAM per Node in Windows Server 2008 R2
Idrees
I am using memcached rather extensively on my Windows Web application and have been running instances for the last three years. They're all 32-bit versions of memcached on 64-bit OS--incidentally, the same as yours.
What the 64-bit version gets you is the ability to allocate more than 4 GB of memory to a memcached instance. I'm only allocating 1.5 GB personally so I've never had a need for the 64-bit version. If your needs are the same, I can assure you that the 32-bit version is quite capable.
(Incidentally, I would recommend steering clear of the MemCacheD Manager application. I've had it reliably crash my memcached v1.4.4 instances. Use
telnet
and thestats
command if you need to see what's going on.)