Linux下Memcache安装及java调用

ubuntu下就是方便啊。

直接apt-get install memcached

memcached -d -m 500 -p 11211 -u root -l 192.168.0.11
服务启动
说明
-m表示给多少内存给memcache
-p 端口
-u 指定用户执行身份
-d 守护进程模式

本地查看
telnet 192.168.0.11 11211

进入以后敲入
stats

下载java操作memcache客户端
https://github.com/gwhalin/Memcached-Java-Client/downloads

将解压缩的jar包全部复制到java工程lib下。

开始搞了。

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
 
public class Memcache {
	public static MemCachedClient mcc = new MemCachedClient();
 
	 static{
 
	       // 设置缓存服务器列表,当使用分布式缓存的时,可以指定多个缓存服务器。这里应该设置为多个不同的服务,我这里将两个服务设置为一样的,大家不要向我学习,呵呵。
	        String[] servers =
	                {
	                        "192.168.0.11:11211"//可以设置多台机器
//	                        "server3.mydomain.com:1624"
	                };
 
 
 
	        // 创建一个Socked连接池实例
	        SockIOPool pool = SockIOPool.getInstance();
 
	      // 向连接池设置服务器和权重
	        pool.setServers(servers);
	       // pool.setWeights(weights);
 
	        // set some TCP settings
	        // disable nagle
	        // set the read timeout to 3 secs
	        // and don't set a connect timeout
	        pool.setNagle(false);
	        pool.setSocketTO(3000);  
	        pool.setSocketConnectTO(0);
 
	        // initialize the connection pool
	         pool.initialize();
 
 
	 }
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		  mcc.set("foo", "This is a test String");
		  System.out.println(mcc.get("foo"));
	        String bar = mcc.get("foo").toString();
	        System.out.println(">>> " + bar);
 
 
	}
 
}

另外有人纠结set如果设置过期时间比如30秒数据过期到底如何写

特放例子如下
mcc.set(“c2”, “c”, new Date(System.currentTimeMillis() + 30000));//这个无效
mcc.set(“d2”, “d”, new Date( 30000));//这个可以。


This entry was posted in JAVA, Linux, 高并发与大数据 and tagged , , , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/linux-memcache-java/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*

  

About Me

静水流深,水滴石穿