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));//这个可以。