MongoDB and memcached are not something within a category.
MongoDB is a document-type non-relational database, its advantage is that the query function is more powerful, can store massive data.
Memcached,redisMongoDB and memcached do not exist who replace who's problem. And memcached is closer to Redis. They are in-memory database, the data is stored in memory, through TCP direct access, the advantage is fast, high concurrency, the disadvantage is that the data type is limited, the query function is not strong, generally used as a cache. In the project, it started with memcached, and later with Redis instead. In contrast to Memcached:1, Redis has a persistence mechanism that can periodically persist the in-memory data to the hard disk. 2, Redis has the Binlog function, can write all operations to the log, when the Redis failure, can follow the Binlog data recovery. 3, Redis support virtual memory, can limit the size of RAM, when the data exceeds the threshold, the most infrequently used data in memory is saved to the paging file of the hard disk by an algorithm like LRU. 4. Redis native supports more data types and uses more space for imagination. 5, a friend mentioned in front of a consistent hash, used in Redis sharding, generally in the load is very high need to expand the level of use. We have not used this aspect of the function, the general project, stand alone enough to support the concurrency. Redis 3.0 will launch cluster, which is more powerful.
MongoDB, Redis, memcached