金华企业网站建站模板,网站首页收录突然没有了,wordpress设置角色,郑州展览设计公司一、什么是Memcached#xff1f;Memcached是danga.com开发的分布式内存对象缓存系统#xff0c;所谓分布式#xff0c;意味着它不是本地的#xff0c;而是基于网络连接完成服务。Memcached把一些数据通过keyvalue数据存储到内存中#xff0c;这样访问更加方便快捷。但是随…一、什么是MemcachedMemcached是danga.com开发的分布式内存对象缓存系统所谓分布式意味着它不是本地的而是基于网络连接完成服务。Memcached把一些数据通过keyvalue数据存储到内存中这样访问更加方便快捷。但是随之而来的问题是如果Memcached关闭或者Memcached的服务器关闭那么所保存的内容也就没有了。二、安装Memcached服务端我是在Win下做的实验。首先下载Win下的Memcached解压到指定目录。memcached.exe -d install 安装memcached服务然后通过Memcached start memcached就启动了。常用命令-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached服务-u 以的身份运行 (仅在以root运行的时候有效)-m 最大内存使用单位MB。默认64MB-M 内存耗尽时返回错误而不是删除项-c 最大同时连接数默认是1024-f 块大小增长因子默认是1.25-n 最小分配空间keyvalueflags默认是48-h 显示帮助三、java下使用Memcached(java客户端程序)目前常用客户端有三种我使用的是java_memcached-release_2.6.6该系列是最早推出也应用最为广泛的客户端。所需全部的jarcommons-pool-1.5.6.jar、java_memcached-release_2.6.6.jar、slf4j-api-1.6.1.jar、slf4j-simple-1.6.1.jar1、基本使用Testpublic void show(){MemCachedClient clientnew MemCachedClient();//使用的服务器由于是在本地测试只有一个服务器地址。默认端口是11211//格式为 服务器IP:端口号String [] addr{127.0.0.1:11211};/*** 设置权重与设定的服务器一一对应*/Integer[] weight{3};//建立通信的连接池SockIOPool poolSockIOPool.getInstance();//设置连接池可用cache服务器列表服务器构成形式ip地址端口号pool.setServers(addr);//设置连接池可用cache服务器的权重和server数组的位置一一对应pool.setWeights(weight);//设置初始连接数pool.setInitConn(5);//设置最小连接数pool.setMinConn(5);//设置最大连接数pool.setMaxConn(200);//设置可用连接的最长等待时间pool.setMaxIdle(1000*30*30);//设置连接池维护线程的睡眠时间设置为0维护线程不启动pool.setMaintSleep(30);//设置Nagle算法设置为false因为通讯数据量比较大要求相应及时pool.setNagle(false);//设置socket读取等待超时时间pool.setSocketTO(30);//设置连接等待超时值pool.setSocketConnectTO(0);//设置完参数后启动poolpool.initialize();client.set(value,Ok);String value (String) client.get(value);//设置定时时间2s后消失client.set(value1,OK2,new Date(2000));String value2 (String) client.get(value1);System.out.println(value);System.out.println(value2);}2、spring整合memcachedclasspath:property/memcached.propertiesinit-methodinitialize destroy-methodshutDown${memcached.server}properties配置文件#服务器地址memcached.server127.0.0.1:11211#初始连接数目memcached.initConn20#每个服务器建立最大连接数memcached.maxConn50#自查线程周期工作其每次休眠时间memcached.maniSleep3000#是否使用nagle算法(Socket参数如果是true写数据不缓冲直接发送)memcached.naglefalse#Socket阻塞读取数据的超时时间memcached.socketTO3000测试RunWith(SpringJUnit4ClassRunner.class)//表示整合JUnit进行测试ContextConfiguration(locations {classpath:applicationContext.xml})public class SpringTest {Testpublic void test1(){MemCachedClient memCachedClientnew MemCachedClient();memCachedClient.set(username,luck);String value (String) memCachedClient.get(username);System.out.println(value);}}四、个人学习中遇到的问题我们通过客户端添加与获得数据那么这个客户端如何与pool联系的通过别人的博客找到答案。客户端是通过pool的name关联到某个pool上的。客户端与Pool都没有指定名称的时候默认是创建名称为“default”的pool客户端与它关联。如果pool设置了名字那么客户也要指定名称。ps:参考博客http://blog.csdn.net/sup_heaven/article/details/32337711java_memcached-releasejava_memcached-release常用apihttp://blog.csdn.net/qqiabc521/article/details/6438429菜鸟一枚如有不对敬请指正。