Redis and Memcached are caching servers to store the data in Enterprise applications to improve performance.
Difference between Redis and Memcached
|In Memory data structure Server||Distributed cache server with high performance|
|In Memory cache and persistence storage||Only In Memory Storage|
|Key is only strings, values Supports Rich set of data types to store||Supports String key and values only|
|Supports listing all keys||Does not support listing all keys|
|Master slave Replication is supported for failover||Does not support replication|
|Supports Shards for better write access||Does not support scaling|
|Supports pub and sub model||Does not support|
|Supports LUA scripting to write stored procedure||Does not support|
When do you choose memcached over redis?
Both are for storing key and value pairs of data.
If you have a use case of a simple application that stores plain key and value pairs of strings and is not required to store the data on disk.
if you have data that has complexdata structure and supports replication and sharding, You can choose Redis.
When do you choose redis over memcached ?
You can choose Redis over memcached in following things
You want to store and persisite the data items even after Redis is restarted.
Expired Elements can be selected and deleted.