需要导入jar包:spymemcached
下载链接:spymemcached下载
代码:
public static void main(String[] args){ try { MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211)); System.out.println("connection success"); // set 向Memcached中设置缓存对象【如果缓存中已有该key的缓存对象,则替换原来的缓存对象】 Future future = mcc.set("runoob", 900, "Free Education"); System.out.println("status : " + future.get()); System.out.println("runoob in cache : " + mcc.get("runoob")); // add 想Memcached中添加缓存对象【如果缓存中已有该key的缓存对象,则不添加】 Future future1 = mcc.add("test2", 10, "test2-value"); System.out.println("test2 status : " + future1.get()); System.out.println("test2 in cache : " + mcc.get("test2")); Future future2 = mcc.add("test3", 1, "test3-value"); System.out.println("test2 status : " + future1.get()); System.out.println("test2 in cache : " + mcc.get("test2")); Thread.sleep(1000); //test3只缓存1秒,测试test3超时后还有没存在,结果是不存在了 System.out.println("after sleep 1s test3 in cache : " + mcc.get("test3")); //replace 替换掉原来缓存的对象 System.out.println("before replace : " + mcc.get("runoob")); mcc.replace("runoob", 90, "replace value"); System.out.println("after replace : " + mcc.get("runoob")); //append 在相应缓存对象后面追加内容 System.out.println("before append : " + mcc.get("runoob")); mcc.append("runoob", " abc "); System.out.println("after append : " + mcc.get("runoob")); //prepend 在相应缓存对象的前面添加内容 System.out.println("before prepend : " + mcc.get("runoob")); mcc.prepend("runoob", " 123 "); System.out.println("after prepend : " + mcc.get("runoob")); //CAS 检查并设置操作 System.out.println("before cas : " + mcc.get("runoob")); //获取token牌 CASValue casValue = mcc.gets("runoob"); System.out.println("CASValue : " + casValue); CASResponse casResponse = mcc.cas("runoob", casValue.getCas(), 90, "runoob cas"); System.out.println("CASResponse : " + casResponse); // delete 删除掉缓存数据 System.out.println("before delete : " + mcc.get("runoob")); mcc.delete("runoob"); System.out.println("after delete : " + mcc.get("runoob")); // incr 将缓存数据自增 mcc.set("num", 10, 100); System.out.println("before incr : " + mcc.get("num")); System.out.println(mcc.get("num") instanceof Integer); mcc.incr("num", 10); System.out.println("after incr : " + mcc.get("num")); //decr 将缓存数据自减 System.out.println("before decr : " + mcc.get("num")); mcc.decr("num", 10); System.out.println("after decr : " + mcc.get("num")); mcc.shutdown(); // test another memcachedclient can get the object MemcachedClient mcc1 = new MemcachedClient(new InetSocketAddress("node1", 11211)); System.out.println(mcc1.get("runoob")); mcc1.shutdown(); } catch (IOException e) { e.printStackTrace(); System.out.println("connection fail"); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } }
缓存应用--Memcached分布式缓存简介