windows环境下在eclipse中使用memcache

来源:互联网 发布:6g网络什么时候出来 编辑:程序博客网 时间:2024/06/05 12:50

memcache这个东西使用的十分的广泛,我 刚刚接触,算是知道皮毛,不管怎样,慢慢积累,这里就花点时间把自己遇到的问题记录下来吧,或许对其他人又帮助,我一向遇到困难都从网上寻找答案,现在也希望我提供的内容也能帮助其他的在网上寻找答案的人吧!

1.下载安装windows版本的memcache服务器端

memcache应该有服务器端和客户端,这个就不多说了。windows版本的memcache下载地址:memcached for Windows;

2安装memcache服务器端

       将刚刚下载来的memcache解压到某个文件夹中,我解压到了d:\memcache中;cd到这个目录,然后运行memcached.exe就可以启动了;注意启动的那个cmd窗口不能关闭;如果将memcache安装成一个windows的系统服务,那么就不要每次使用memcache的时候都要去运行命令并保持一个窗口了。cd到memcache的安装目录,使用命令: memcached  -d install 就可以将memcache安装成一个系统服务,并且这个系统服务会岁电脑自动启动的。安装完成后使用命令:memcached -d start就可以将memcache服务启动了;

3安装memcache客户端

      memcache具有多种语言的客户端,php的,c的,java的,python的。因为工程用的是java语言,所以这里使用的java语言的。下载地址:java版memcache客户端;

4安装memcache客户端

        这个就没有什么了,我们下载到的就是一套memcache编程接口,直接在工程中使用就可以了

5在工程中使用memcache客户端

        没有弄的那么复杂,我就是直接在eclipse中新建了一个普通的java工程,然后将刚刚下载的memcache的客户端解压出的src文件夹替换刚刚新建的java工程的src文件夹;refresh工程,因为memcache客户端的那套接口使用了log4j,所以要为工程加入log4j的依赖包,这个东西的下载就不说了。好,至此配置就完成了。

      下面新建一个java文件试试memcache吧!(当然要先启动memcache服务器端的)

注:该代码摘自网络:

package test;import com.meetup.memcached.MemcachedClient;import com.meetup.memcached.SockIOPool;import java.util.Date;public class Test {protected static MemcachedClient mcc = new MemcachedClient();static {String[] servers = { "127.0.0.1:11211" };//这是memcache的服务地址和端口这个static段里面其他的配置基本是不变的,所以直接用的他人的Integer[] weights = { 3 };// 创建一个实例对象SocketIOPoolSockIOPool pool = SockIOPool.getInstance();// 设置Memcached Serverpool.setServers(servers);// 设置Memcached权重pool.setWeights(weights);// 初始化5个连接pool.setInitConn(5);// 最小5个连接pool.setMinConn(5);// 最大250个连接pool.setMaxConn(250);// 一个连接最大句柄时间为6小时pool.setMaxIdle(1000 * 60 * 60 * 6);// 设置休眠以维持线程,它每30秒苏醒以此维护池大小pool.setMaintSleep(30);// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,// 以至这个包准备好了就发;pool.setNagle(false);// 连接建立后对超时的控制pool.setSocketTO(3000);// 初始化一些值并与MemcachedServer段建立连接pool.initialize();// 开启压缩功能mcc.setCompressEnable(true);// 大于64K开始压缩mcc.setCompressThreshold(64 * 1024);}private static MemcachedClient memc = new MemcachedClient();public static void bulidCache() {// set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long// date) 中参数date,需要是个大于或等于1000的值。// 因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果// 小于1000的值,除以1000以后都是0,即永不过期mcc.set("test", "This is a test String", new Date(10000)); // 十秒后过期mcc.set("hzh","This is a test String",new Date(1000));//set有三个参数,一个是key,一个是value,一个是time}public static void output() {// 从cache里取值String value1 = (String) mcc.get("test");String value2 = (String) mcc.get("hzh");System.out.println(value1);System.out.println(value2);}public static void main(String[] args) {bulidCache();output();}}
至此,完成!

原创粉丝点击