一、介绍
Memcached是国外社区网站LiveJournal的开发团队开发的高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
memcache是一个自由和开放源代码、高性能、分布式的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。
二、特征
I.Memcached特征
1.基于C/S架构,协议简单;
2.基于libevent的事件处理;
3.内置内存存储方式;
4.基于客户端的memcached分布式。
II.适用场景
1.需要分布式部署的;
2.需要频繁访问相同数据的;
3.需要数据共享的。
三、介绍C/S架构
I.基于C/S架构,协议简单
1.服务端启动memcached进程;
2.客户端可以通过telnet操作,也可以通过各种编程语言实现的客户端程序存取数据及查询状态;
3.memcached的服务器与客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议
II.基于libevent的事件处理
1.libevent是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:Windows/Linux/BSD/Solaris 等操作系统的的事件处理;
2.包装的接口包括:poll、select(Windows)、epoll(Linux)、kqueue(BSD)、/dev/pool(Solaris);
3.Memcached使用libevent来进行网络并发连接的处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。