memcached它的简单的设计促进快速部署,易于开发,解决了大数据缓存面临许多问题,读取写入速度快。工具很好,我现在写下自己在Demo项目如何加入的memcached
1.下载memcached,windows64位免安装 免积分地址:http://download.csdn.net/detail/kkkder/9636921
2.下载后,解压,直接运行memcached.exe
3.尝试连接到memcached 默认端口11211 新开命令窗口 telnet 127.0.0.1 11211
输入stats 如下图:
此时 memcached服务已经可以正常启动(先不用关闭窗口)
下面就让我们用java来做写入读取
4.所依赖的jar:slf4j-api-1.6.1.jar slf4j-simple-1.6.1.jar commons-pool-1.6.jar java_memcached-release_2.6.6.jar这几个是关键的,
5.写个类测试下
package com.memcached2;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemCacheInvoke
{
protected static MemCachedClient mcc = new MemCachedClient();
static
{
// 设置缓存服务器列表,当使用分布式缓存的时,可以指定多个缓存服务器
String[] servers =
{
"127.0.0.1:11211"
//"server.mydomain.com:11211"
};
// 设置服务器权重
Integer[] weights = {3, 2};
// 创建一个Socked连接池实例 获取socke连接池的实例对象
SockIOPool pool = SockIOPool.getInstance();
// 向连接池设置服务器和权重
pool.setServers(servers);
pool.setWeights(weights);
// 设置初始连接数、最小和最大连接数以及最大处理时间
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);
// 设置主线程的睡眠时间
pool.setMaintSleep(30);
// 设置TCP的参数,连接超时等
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
// 初始化连接池
pool.initialize();
}
public static void main(String[] args)
{
mcc.set("name", "zhangsan");
String name = mcc.get("name").toString();
System.out.println(">>> " +name);
}
}
运行结果如下:
>>> zhangsan
zhangsan
这个时候,在步骤3的窗口中输入: get name 如下图:
在构建中,我也遇到各种报错,刚开始也是很心烦,但是谁又能够一次就成功呢?细心一下,问题一个个解决。
另外还有两点要特别注意:1.memcached缓存数据不要大于1M
2.不是持久的。