您的位置:首页 > 数据库 > Memcache

ITOO项目之Memcached

2015-12-21 20:52 363 查看
在ITOO项目学习中,遇到了Memcached这个概念。Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

在学习Memcached之前我们先来了解一下分布式缓存。



缓存的扩展,具有分布式的特性,所以叫分布式缓存。

缓存这种能够提升指令和数据读取速度的特性,随着本地计算机系统向分布式系统的扩展,在分布式计算领域中得到了广泛的应用,称为分布式缓存。

从本地缓存扩展到分布式缓存后,关注重点从CPU、内存、缓存之间的数据传输速度差异也扩展到了业务系统、数据库、分布式缓存之间的数据传输速度差异。



分布式缓存的特点:

高性能、灵活扩展性、高可用性、易用性

应用场景:

页面缓存,应用对象缓存,状态缓存,并行处理

了解了分布式缓存,我们再来看Memcached。



Memcached是高性能的分布式缓存服务器。





缓存服务器特点:

协议简单,基于libevent的事件处理(高性能,跨平台),内置内存存储方式,不互通信的分布式

内存管理:



在Slab中缓存记录的原理:

Memcached根据收到的数据的大小,选择最合适数据大小的Slab。



分布式:



缓存分布策略:

memcached客户端原装函数库Cache::Memcached

根据余数计算分散

缺点:一旦缓存服务器数量变动(命中率将大大降低)。

小结:

         Memcached,就是a distributed memory object  caching system 。既然是一个用来存东西的系统,那么一定要有个存放的地方,称为服务器端,然后谁把东西存放在上面就叫它客户端,那怎么放呢,肯定是 客户端 -- 连接服务器端 -- 把东西发送给服务器端 -- 实现了东西的存放,要去取的时候也是一样的,先连接,在取东西回来了。所有就有了memcached的服务器端。

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: