What client are you using?
I have just been reading the wiki to understand how memcached works. I have understood how to use it but have a question around the cluster configuration. Say key "foo" was stored on node A which has now gone down. A client requests for "foo", its not there on any node in the cluster and this is a cache miss. At this point would "foo" get cached again on a node that is still available in the cluster or will "foo" keep returning cache misses until node A comes back up?
This is a client decision and most clients have the option to do either.
Additionally, if the cluster indeed waits for node A to come back up, how is removal of nodes from a cluster configuration handled?
Again, this is in the client. It depends on what client you are using as to how exactly this is managed.
I am keen to understand these internal workings of memcached so any pointers to existing documentation or an explanation would be much appreciated. Also, is there any documentation explaining how the hashing and key resolution work? How does the key resolution to map to a key to a specific memcached node? I think it happens in the client itself. Correct?
Yes, all the magic of memcache as a cluster is in the client.
Lastly, is memcached purely in-memory or can it write to disk as well?
In memory. Brian.
