美文网首页DevOps
memcached和msm实战详解

memcached和msm实战详解

作者: 4e8ea348373f | 来源:发表于2018-04-24 17:02 被阅读0次

    一,Memcached概念

    memcached:高性能key/value数据缓存,旁挂式缓存

    旁挂式

    二,Memcached特点

    1.协议简单
    2.基于libevent事件处理,并发性能较好
    3.基于内存完成数据存储 LRU算法
    4.memcached互不通信的集群,分布式,一致性哈希,避免偏斜,使用虚拟节点
    5.基于懒性管理法制,不一定删除,而是标识不可用

    三,安装和使用

    memcached 已经被整合进base源
    [root@node3 ~]# yum install memcached -y
    [root@node3 ~]# systemctl start memcached
    #默认监听tcp和udp的11211端口
    telnet 127.0.0.1 11211
    
    

    四,常用命令

    set
    add
    replace
    get
    delete
    stats
    

    五,memcached内存存储

    slab allocation: 整理内存以进行复用 slab allocator
    page:分配给slab用于再次分割为chunk的内存空间
    chunk:用于缓存缓存对象的存储空间
    slab class 特定大小的chunk组合而且的组
    有一个对象来缓存,找一个能容纳下的chunk分配,使用率不一定为100%,利于内存的回收和整理
    memcached -u memcached -v 可以来查看chunk的信息 -f可以来调整增长因子,永久生效,在/etc/sysconfig/memcached 中的options中加入 例如 -f 1.1


    image.png
    image.png

    memcached-tool 查看stats
    '#' slab class 的编号
    Item_size Chunk大小

    六,会话保持在memcached的实现 依赖sms来实现

    sms 可以指明使用两个memcached ,自动主备模式

    #准备所用jar
    memcached-session-manager-tc8-1.8.1
    msm-kryo-serializer-1.8.2
    spymemcached-2.10.2
    javolution-5.5.1
    放在tomcat下面的lib中
    分别在两个tomcat上的某host上定义一个用于测试的context容器,并在其中创建一个会话管理器,如下所示:
    
               <Context path="/test" docBase="/usr/local/tomcat/webapps/test" reloadable="true">
                  <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
                    memcachedNodes="n1:172.16.100.9:11211,n2:172.16.100.10:11211"
                    failoverNodes="n1"
                    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
                    transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
                  />
                 </Context>
    

    相关文章

      网友评论

        本文标题:memcached和msm实战详解

        本文链接:https://www.haomeiwen.com/subject/hykjlftx.html