美文网首页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