• memcached总结


    基于libenvent网络库,单线程,中心思想IO多路复用,http://www.cnblogs.com/daoluanxiaozi/p/3274925.html

    特点:

    1.基于键值对的缓存系统,储存字符串或者对象(需要实现serializable接口),协议简单,

    基于libevnent网络库,内置的内存管理, slab allocations,基于客户端的分布式;

    memcached间互不通信,//分布式靠客户端实现,-f 块大小增长因子

    内置的内存管理: memcached使用预申请内存并分组成特定块的方式,旨在解决内存碎片的问题。

    数据存储方式:slab allocations,有效的防止内存碎片,但会产生内存浪费

    数据过期方式:Lazy Expiration + LRU

     不会监控数据是否过去,get查看数据时间戳进行判断

    3.分配的内存用完,使用LRU算法 least recently Used

    4.支持cas操作,,set,add,replace,prepand,appand

    incr,decr

    5.cas和gets配合使用

    30天,内存最大2G,存储最大1MB

     客户端指定分布式hash算法,

    通过stats指令,查看缓存命中率

    6.一致性hash算法,添加或减少服务器,减少key的重新映射

    原理:将Hash函数的值域空间形成一个hash圆,服务器映射到圆上,整个圆按照顺时针方向组织

    ,然后使用相同的hash函数,计算出key的hash值并映射到圆上,按照顺时针方向,找到最近的服务器进行存储; 通过虚拟节点,避免服务器分部不均匀;

    6.分布式session

    Memcache的管理与性能监控
    可以通过命令行直接管理与监控也可通过nagios,cacti等web软件进行监控
    命令行:

      1. Shell>telnet 127.0.0.1 1211 //如果在启动时指定了IP及端口号,这里要作相应改动
        连接成功后命令 
      2. Stats:统计memcached的各种信息 
      3. Stats reset:重新统计数据 
      4. Stats slabs,显示slabs信息,可以详细看到数据的分段存储情况 
      5. Stats items:显示slab中的item数目 
      6. Stats cachedump 1 0:列出slabs第一段里存的KEY值 
      7. Set|get:保存或获取数据 
      8. STAT evictions 0:表示要腾出新空间给新的item而移动的合法item数目
  • 相关阅读:
    Reaper自定义模板
    c#3.0 特性
    C#中下载文件出现410错误。
    使用Create task with ContentType创建任务的时候,必须先在task list中加上该ContentType
    tsmmc.msc 远程桌面
    工作流的ReplicatorActivity
    关于Windows2003的远程桌面链接数量。
    【手绘】A old painting ,drawed in middle school ,grade 8
    【Notepad++】Notepad ++ plugin Compare
    【资讯】Fight for this goal ,and better than this~
  • 原文地址:https://www.cnblogs.com/lelouchKOP/p/5785925.html
Copyright © 2020-2023  润新知