memcached是一个开源的,分布式内存对象缓存系统,在高并发环境下,大量的请求涌向数据库,从而导致过高的响应延迟,此时缓存应运而生.
memcached一般目的是通过缓存数据库的查询结果减少数据库的压力,提高应用响应速度,提高可扩展性.
memcached是如何支持高并发的:
memcached使用多路复用I/O模型,它是一种消息通知模式,用户连接做好I/O准备后,系统会通知我们这个连接可以进行I/O操作,这样就不会阻塞某个用户连接,
此外,memcached使用了多线程机制,可以同时处理多个请求,线程数一般设置为cpu数,这样效率最高.
memcached和redis的区别:
1. memcached仅支持简单的K/V类型的数据,redis不仅支持K/V类型的数据,同时还提供list,set ,hash等数据结构的存储
2. memcached挂掉后,数据就没了,不可恢复,redis挂掉后,数据可以恢复,通过aof恢复