Reference link difference IO Model-memcache: Multi-threaded IO multiplexing (event-driven), Redis: single-threaded IO multiplexing (event-driven, single-threaded models can actually seriously affect overall throughput, and the entire IO schedule is blocked during CPU calculation) Memory allocation-Memcache: Using a pre-allocated pool of memory (Slab,chunk), Redis: Storing data in a way that uses on-the-spot memory, there is a certain amount of memory fragmentation. Data consistency-memcache: Using CAS to ensure data consistency, Redis: Using Transactional Operations functionality-Memcache: Basic support for simple key-value storage, enumeration not supported, persistence and replication capabilities, Redis: except Key/value, It also supports a number of data structures such as list,set,sorted Set,hash, which provides the keys for enumeration operations, but cannot be used online, while providing features such as persistence and replication distributed lock-memcache: Atomic operation Add () can set the expiration time, Redis: Requires set () and then expire (), once the outage is interrupted, it will lead to deadlock using the scenario Redis best practices are all data in-memory. Redis more scenes are used as substitutes for memcache. Redis is more appropriate when it is necessary to support more data types than Key/value. Redis is more appropriate when the stored data cannot be rejected.