-
Data support types: Memcache has relatively simple data type support; Redis has complex data types.
The storage method is different: memcache stores all the data in memory, and it will hang up after the power is off, and the data cannot exceed the memory size; Some of Redis is stored on the hard disk to ensure the durability of the data.
Using the underlying model differently: the underlying implementation between them is different, and the application protocol for communication with the client is different, Redis built its own VM mechanism, because the general system calls the system function, and wastes a certain amount of time to move and request.
The value value is of different sizes: Redis can reach a maximum of 1GB; Memcache is only 1MB.
Cluster mode: Memcached does not have a native cluster mode, and needs to rely on clients to write data to shards in the cluster. However, Redis currently natively supports the cluster pattern.
Threads: Memcached is a multi-threaded, non-blocking IO multiplexed network model; Redis uses a single-threaded, multiplexed IO model.
-
Companies now generally use Redis for caching, and Redis itself is getting more and more powerful!
Redis supports richer data types (more complex application scenarios): Redis not only supports simple K V data, but also provides storage of data structures such as list, set, zset, and hash. Memcache supports a simple data type, string.
Redis supports data persistence, which can keep the data in memory on disk, and can be loaded again when restarting, while MemeCache stores all data in memory.
Cluster mode: Memcached does not have a native cluster mode, and needs to rely on clients to write data to shards in the cluster. However, Redis currently natively supports the cluster pattern.
Memcached is a multi-threaded, non-blocking IO multiplexing network model; Redis uses a single-threaded, multiplexed IO model.
-
Salvatore Sanfilippo, author of Redis, once compared these two in-memory data storage systems:
Redis supports server-side data operations: Redis has more data structures and supports richer data operations than Memcached. This greatly increases the number of network IOs and the volume of data.
In Redis, these complex operations are usually as efficient as a normal get set. So, if you need a cache that can support more complex structures and operations, then Redis is a good choice.
Comparison of memory usage efficiency: If you use a simple key-value store, the memory utilization of memcached is higher, but if Redis uses the hash structure for key-value storage, its memory utilization will be higher than that of memcached due to its combined compression.
Performance comparison: Since Redis uses only a single core, while Memcached can use multiple cores, Redis has higher performance than Memcached when storing small data on average. In data above 100k, the performance of MEMCached is higher than that of REDIS, and although Redis has recently optimized the performance of storing big data, it is still slightly inferior to MEMCached.
divide, separate both have the meaning of "separate". divide means to divide a whole silver spike into several parts, e.g. divide the class into two groups >>>More
1. The concept is different:
The rule of virtue requires the ruling group to set an example, pay attention to self-cultivation and diligence, and give full play to the role of moral influence; Attach importance to the moral education of the people, "for the government to be virtuous", and morality is the main punishment and auxiliary. >>>More
The high school students confirmed the direction of Switzerland and learned a lot about the school, compared to other Chinese high school students, you still have a little plan, like one. >>>More
Harmony makes money. Harmony is precious.
And and the beauty of the United States. Gentle drizzle. >>>More
Let me tell you this.
Suppose a=<1,2,3,4> >>>More