1 memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载,他通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态,数据库驱动网站的速度。Memcached是基于一个存储key-value对的hashmap,
2 memcached拥有一个简单的key value来存储守护进程,安装该服务后,应用程序需要通过编程方式才能使用该服务。很多编程语言都提供 了客户端的接口来与服务器进行交互
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性
3 客户端与memcached服务器交互
Telnet localhost 11211
4 memcache:
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表
5 安装并启动
yum install -y memcached systemctl start memcached
如果系统简略就用:
memcached -d -u root -l 172.17.0.6 -m 2048 -p 12121
6 复制库到tomcat
[root@localhost tmp]# docker cp lib.tar 054ff06cdda4:/tmp
[root@054ff06cdda4 tmp]# tar xf lib.tar -C .
[root@054ff06cdda4 tmp]# cp lib/* /apache-tomcat-7.0.61/lib/
[root@dd29511abdfb conf]# pwd
/apache-tomcat-7.0.61/conf
[root@dd29511abdfb conf]# vi server.xml
7 修改页面并重启tomcat
[root@054ff06cdda4 apache-tomcat-7.0.61]# vi webapps/ROOT/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
request.setAttribute("year", sdf.format(new java.util.Date()));
request.setAttribute("tomcatUrl", "http://tomcat.apache.org/");
request.setAttribute("tomcatDocUrl", "/docs/");
request.setAttribute("tomcatExamplesUrl", "/examples/");
%>
SessionID:<%=session.getId()%>
SessionIP:<%=request.getServerName()%>
tomcat1 page
[root@054ff06cdda4 apache-tomcat-7.0.61]# bin/catalina.sh start
8 关联memcached跟tomcat
[root@dd29511abdfb conf]# vi context.xml
增加
memcachedNodes="n1:172.17.0.6:12121" sticky="false" lockingMode="auto" sessionBackupAsync="false" requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$" sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" /> ------------------------------------------ 需要注意的是: memcachedNodes="n1:172.17.0.6:12121"; 关联的memcached的节点及端口 className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 表示引用的java类



