万网定制网站怎么样,wordpress 宅男猫源码,wordpress 4.9.4,如何进行在线营销Linux memcached memcached是一套分布式的高速缓存系统#xff0c;使用key-value来缓存数据#xff0c;是由LiveJournal的Brad Fitzpatrick开发#xff0c;目前被许多网站使用。这是一套开放源代码软件#xff0c;以BSD license授权发布。memcached缺乏认证以及安全管制… Linux memcached memcached是一套分布式的高速缓存系统使用key-value来缓存数据是由LiveJournal的Brad Fitzpatrick开发目前被许多网站使用。这是一套开放源代码软件以BSD license授权发布。memcached缺乏认证以及安全管制所以应该将memcached服务器放置在防火墙后。 一般memcached会和mysql数据库结合从而提高响应速度memcached可以将SQL语句进行hash之后作为key将查询到的数据作为value然后存储在memcached的内存中进而提高查询速度 memcached特点 协议简单使用基于文本格式的协议 基于libevent进行事件处理 基于内存进行数据存储基于LRU算法进行缓存的存储 memcached支持互不通信的集群分布式 安装编译安装 出现下面错误时才进行这些操作 安装前准备在官网下载libevent wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz tar xf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable/ ./configure make make install ln -sv /usr/local/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6 tar xf memcached-1.4.15.tar.gz cd memcached-1.4.15/ ./configure --prefix/usr/local/memcached 或 ./configure --prefix/usr/loca/memcache --with-libevent/usr/local/lib/libevent-2.1.so.6 感觉这个就算指定了也没什么用 make make install 运行memcached cd /usr/local/memcached/bin ./memcached -d -u root 帮助信息./memcached -h 安装时的报错 checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/ If its already installed, specify its path using --with-libevent/dir/ 可以通过下面的图片来对memcached进行操作 首先需要用telnet登录监听在11211端口的memcached telnet localhost 11211 图片来自https://blog.csdn.net/qq_14927217/article/details/73692582 数据查找过程 memcached是一个旁挂式缓存当应用程序第一次到mysql查找数据时mysql会直接将数据返回给应用程序接着由应用程序自己将刚在mysql返回给自己的数据保存至memcached中然后将数据返回给客户端当以后客户端请求相同的数据时应用程序会首先查找memcached如果memcached还存有这个数据就直接返回给应用程序从而响应给客户端如果缓存不存在了就还要自己去mysql查找然后再存一份到memcached中再返回给客户端然后以此类推 memcached的内存存储 机制slab allocation整理内存以进行复用 工作方式slab allocator memcached会将自己的内存分成一些固定大小的块(chunk)然后将大小相同的块再分成组比如分100个2字节的块再分200个4字节的块再分400个4k的块然后将这些相同大小的块再分成组slab class page分配给slab用于进行分割为chunk的内存空间 chunk用于存储缓存对象的空间 slab class特定大小的chunk组合而成的组空间 Note在memcached启动时这些内存空间就已经被切割好了当有缓存数据需要进行缓存时就可以直接存储了节省了很多时间但是无法避免内存碎片 可以通过./memcached -u root -vv来查看chunk的大小 可以通过./memcached -u root -vv -f number来设置chunk的增长因子的大小增长因子指的是按大小排序后一种chunk的大小是前一种chunk大小的多少倍默认为1.25倍且最小的chunk的大小为96字节 状态查看 ~]# memcached-tool 127.0.0.1 # Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM 1 96B 28s 1 1 yes 0 0 0 标题解释 #slab class的编号 Max_age已缓存时长 Pages分配个slab的内存页数量 Item_Sizechunk的大小 Countslab中记录的缓存总数 full?slab中是否还有空闲chunk Evicted缓存被清除之前的宽限存储时间 OOMslab class无法存储的新数据的次数 使用memcached缓存Tomcat的session信息 简介https://github.com/magro/memcached-session-manager/wiki 1.拓扑结构一台Centos7作为前端负载均衡器两台Centos6作为后端的memcached和tomcat服务器关于前端负载均衡的配置在上一篇博客中有具体演示此处不在赘述 2.需要使用安装组件来支持这个功能 memcached-session-manager-${version}.jar memcached-session-manager-tc${6,7,8}-${version}.jar spymemcached-${version}.jar 序列化工具能够将Tomcat的内存对象进行序列化以后存储在memcached的内存中 msm-javolution-serializer-${version}.jar javolution-${version}.jar 组件下载地址 https://code.google.com/archive/p/memcached-session-manager/downloads http://repo1.maven.org/maven2/de/javakaffee/msm/ https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration http://www.java2s.com/Code/Jar/j/Downloadjavolution5431jar.htm 3.将上述.jar包放置到$CATALINA_HOME/lib/中 cp memcached-session-manager-1.7.0.jar memcached-session-manager-tc7-1.7.0.jar msm-javolution-serializer-1.7.0.jar javolution-5.4.3.1.jar spymemcached-2.11.1.jar /usr/share/tomcat/lib/ 4.添加配置内容 不知道问什么使用tomcat8.5做这个操作不成功所以接下来的都是在tomcat7中完成的上面.jar包也是7版本的使用yum直接安装tomcat7即可 vim conf/service.xml Host namewww|mail.guowei.com appBase/data/webapps autoDeploytrue Context path/apps docBase/data/webapps/ROOT #docBase要使用绝对路径 Manager classNamede.javakaffee.web.msm.MemcachedBackupSessionManager #memcached备份管理器的类名 memcachedNodesn1:192.168.80.131:11211,n2:192.168.80.134:11211 #n1为主机标识可以更改 failoverNodesn1 #指定备用主机节点 requestUriIgnorePattern.*\.(ico|png|gif|jpg|css|js)$ #指定忽略的数据类型 transcoderFactoryClassde.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory #指定序列化工具 / /Context /Host Note配置中提到的是两台memcached主机n1:192.168.80.131:11211,n2:192.168.80.134:11211此处只列出一端的配置另一端几乎相同不同之处已使用”|”标记就不在赘述 5.启动tomcat服务 service tomcat start 6.访问测试 http://192.168.80.139/apps Note此配置是衔接上面一篇博客的有些配置没有给出具体请看上一篇文章 实现session server 常用架构示例 1.拓扑结构 2.流程客户端访问某一网站的某一动态内容时首先会经过负载均衡器的调度将其调度至某一台后端的Tomcat服务器TomcatA上然后Tomcat会将客户端的会话信息进行序列换然后保存至后端的额memcached服务器中如果此客户端在下一次访问此网站时如果调度器将其调度至其他Tomcat服务器TomcatB上Tomcat就会到memcached服务器中查找session信息这样就实现了session共享聪明的你已经发现这个memcached服务器是一个单点如果其发生故障那么所有session信息都会丢失所以我们需要搭建一个备份memcached服务器以备不时之需memcached备份服务器可以在主memcached故障时顶替其继续工作并且当Tomcat往主memcached服务器中写数据时还会降数据再往备份memcached服务器中写一份从而可以实现无缝衔接! 3.配置过程 大写的略 因为配置跟上面的差不多 注根据马哥视频做的学习笔记如有错误欢迎指正侵删 转载于:https://www.cnblogs.com/guowei-Linux/p/11072857.html