JavaWeb项目中加入memcached缓存

时间:2021-09-28 20:39:53

memcached它的简单的设计促进快速部署,易于开发,解决了大数据缓存面临许多问题,读取写入速度快。工具很好,我现在写下自己在Demo项目如何加入的memcached

1.下载memcached,windows64位免安装  免积分地址:http://download.csdn.net/detail/kkkder/9636921

2.下载后,解压,直接运行memcached.exe

JavaWeb项目中加入memcached缓存

3.尝试连接到memcached 默认端口11211 新开命令窗口 telnet 127.0.0.1 11211    

输入stats 如下图:

JavaWeb项目中加入memcached缓存

此时 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 如下图:

JavaWeb项目中加入memcached缓存

在构建中,我也遇到各种报错,刚开始也是很心烦,但是谁又能够一次就成功呢?细心一下,问题一个个解决。

另外还有两点要特别注意:1.memcached缓存数据不要大于1M

2.不是持久的。


相关文章