What is the difference between Memcached and Redis?

Memcached Redis
Memcached only does caching information. It provides some more functionalities like replication and persistence along with caching information.
Memcached supports the functionality of LRU (Least Recently Used) eviction of values. LRU is not supported by Redis.
In Memcached, when they overflow memory, the one you have not used recently (LRU- Least Recently Used) will get deleted. In Redis, there is a time set for each function, Three keys are maintained, the one, which is closest to expiry, will get deleted.
CAS (Check and Set) is supported by Memcached. CAS is not supported by Redis.
Array objects are needed to be serialized in order to get saved. We need to unserialize them for their retrieval. Redis has got stronger data structures; it can handle strings, binary safe strings, list of binary safe strings, sorted lists, etc.
Memcached has at most 250 bytes length. Redis has at most 2 GB key length.
It is Multi-threaded It is single threaded.