Memchached 服务器简单说明

  • 参考资料:http://kb.cnblogs.com/page/42731/

  • memcached作为高速运行的分布式缓存服务器,具有以下的特点。

    1、协议简单,基于文本行的协议;
    2、基于libevent的事件处理
    3、内置内存存储方式,数据仅存在内容中,使用LRU算法进行内在释放;
    4、memcached不互相通信的分布式

摘要

  • 作用
    缓存查询结果,减少数据库访问次数,提高web应用的并发量与响应速度。
    1. memcached中保存的数据都存储在memcached内置的内存存储空间中,因此memcached重启或系统重启,都会丢失缓存数据。
  • 优势
    服务端部署简单快捷,极高可扩展性,支持多种语言的客户端。

    1. 服务端是互不通信的,分布算法由客户实现;
  • 内存管理

    1. Slab Allocator:Slab Allocator解决了内存碎片问题,但不恰当的设置为造成内存的浪费。
    2. Growth Factor:成长因子,就是当存储内容大于slab块的大小时,会进行块的自动扩容,但每次扩展的大小就是由成长因子决定的。合理的设置成长因子,可以减少内存 浪费。
  • 分布式算法

    1. 根据余数计算分散,
      就是“根据服务器台数的余数进行分散”。 求得键的整数哈希值,再除以服务器台数,根据其余数来选择服务器。余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。 那就是当添加或移除服务器时,缓存重组的代价相当巨大。 添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。
    2. Consistent Hashing,
      如下图所示,首先将服务器均匀分布在一个圆上面,根据算法也将键值分布到一个圆上,键存储位置就在顺时针方向的第一个服务器上。因为键位置的计算方法不依赖于服务器台数,所以当服务器故障或增减服务器时,键的分布位置也是固定的,只是在查找顺时针方向第一台服务器时会出错。
      这里写图片描述
  • 关键词

    1. Libevent
      是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级
    2. Consistent Hashing算法:客户端分布式算法
      抑制分布不均匀, 最大限度地减小服务器增减时的缓存重新分布。
    3. LRU(Least Recently Used)算法,近期最少使用算法,当服务器内存不足时,会触发内存回收动作,优先回收近期使用最少的数据。
  • 应用时应注意事项

    1. 设置每台服务器内容容量,应考虑主机操作系统类型(32或64),可分配内容上限,一台主机配置多台服务器时应考虑TCP连接数量,避免某台服务器被大量访问,而其他服务器没有访问的情况,服务器运行基本不占CPU;
    2. 公共数据缓存处理方法,比如应用公共内容,访问结果相同,而且访问次数庞大的数据,应在多台服务器上同时缓存,一台服务器被大量访问,若其中台故障,也不会影响正常使用;
    3. 设置访问失败后,断期内不再次访问。在failure_timeout秒内发生max_failures以上次连接失败,就不再连接该memcached服务器。如1秒钟3次以上。
    4. 通过daemontools启动,监视服务器状态,故障后自动重启。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wolf犭良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值