一、Memcached介绍
memcached是一个开源、支持高性能、高并发的分布式内存缓存系统。
mem:就是内存的意思。
cache:就是缓存的意思。
d:是daemon的意思,代表是服务器端守护进程模式服务。
memcached服务分为服务器端和客户端两部分。其中,服务器端软件名字形如:memcached-1.4.24.tar.gz.客户端软件的名字形如:memcache-2.25.tar.gz
二、Memcached的作用
1、传统场景中,多数WEB应用将数据保存到关系型数据库中(mysql),web服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,关系型数据库的负担就会出现加重、响应缓慢、导致网站打开延迟等问题。影响用户的体验。
使用memcached的主要目的是,通过在自身内存中缓存关系型数据库的查询结果,减少数据库被访问的次数,以提高动态web应用的速度、提高网站架构的并发能力和扩展性。
生产环境中memcached服务一般被用来保存网站中经常被读取的对象或数据。
三、互联网常见内存缓存服务软件
1、Memcached:纯内存型
2、Redis、Memcachedb:可持久化存储,即使用内存,也会使用磁盘
3、Squid、Nginx:内存或内存加磁盘缓存
四、Memcached工作原理与机制
1、memcached是一套类似C/S模式架构的软件,在服务器端开启memcached服务守护进程,可以指定监听本地的IP地址、端口号、并发访问连接数,以及分配了多少内存来处理客户端请求。
2、Socket事件处理机制,采用的是异步epoll/kqueue非阻塞I/O网络模型,实现方式是基于异步的libevent事件单进程、单线程模式。使用libevent作为事件通知机制,应用程序端通过指定服务器的IP地址及端口,就可以连接Memcached服务进行通信。
3、数据存储机制,被缓存的数据以key/value键值对的形式保存在服务器端预分配的内存区中,每个被缓存的数据都有唯一的标示key,操作Memcached中的数据就是通过这个唯一标示的key进行的。
4、内存管理机制
采用slab内存分配机制
采用LRU对象清除机制
采用hash机制快速检索item
5、多线程处理机制,多线程处理采用的是pthread(POSIX)线程模式
若要激活多线程,可在编译时指定:./configure--enable-threads
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
安装使用-----未完待续.........