1.下載下傳Memcached
- 32位系統 1.2.5版本:http://static.runoob.com/download/memcached-1.2.5-win32-bin.zip
- 32位系統 1.2.6版本:http://static.runoob.com/download/memcached-1.2.6-win32-bin.zip
- 32位系統 1.4.4版本:http://static.runoob.com/download/memcached-win32-1.4.4-14.zip
- 64位系統 1.4.4版本:http://static.runoob.com/download/memcached-win64-1.4.4-14.zip
- 32位系統 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-x86.zip
- 64位系統 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-amd64.zip
2.解壓下載下傳好的檔案到指定目錄
3.安裝Memcached,以管理者的權限運作指令:
c:\memcached\memcached.exe -d install
4.安裝完成之後,啟動/停止Memcached,以管理者權限運作以下指令:
c:\memcached\memcached.exe -d start
c:\memcached\memcached.exe -d stop
5.下載下傳jar 包,下載下傳位址:spymemcached-2.10.3.jar。将下載下傳好的Jar添加到項目中去。
6.測試連接配接到Memcached
//連接配接到Memcached
protected static MemcachedClient connect() {
MemcachedClient mcc = null;
try {
// 本地連接配接 Memcached 服務
mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));
} catch (IOException e) {
e.printStackTrace();
}
return mcc;
}
7.Java操作Memcached實作增删改查:
//save
public void save() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.add("memcached", 900, "Memcached");
// 輸出值
System.out.println("Memcached value in cache - " + mcc.get("memcached"));
fo = mcc.add("test", 900, "test_1");
// 輸出值
System.out.println("test value in cache - " + mcc.get("memcached"));
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
//find
public void find() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.add("memcached", 900, "Memcached");
// 輸出值
System.out.println("Memcached value in cache - " + mcc.get("memcached"));
fo = mcc.add("test", 900, "test_1");
// 輸出值
System.out.println("test value in cache - " + mcc.get("memcached"));
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
//update
public void update() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.add("memcached", 900, "Memcached");
// 輸出值
System.out.println("Memcached value in cache - " + mcc.get("memcached"));
fo = mcc.replace("memcached", 900, "memcached_new");
// 輸出值
System.out.println("memcached_new value in cache - " + mcc.get("memcached"));
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
//delete
public void del() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.add("memcached_new", 900, "Memcached");
// 輸出值
System.out.println("Memcached value in cache - " + mcc.get("memcached_new"));
fo = mcc.delete("memcached_new");
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
8.Memcached其它存儲指令操作
//append
public void append() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.set("test_append", 900, "Append");
// 輸出值
System.out.println("Append value in cache - " + mcc.get("test_append"));
fo = mcc.append("append","append_1");
// 輸出值
System.out.println("append_1 value in cache - " + mcc.get("append"));
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
//prepend
public void prepend() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.set("test_prepend", 900, "Prepend");
// 輸出值
System.out.println("Prepend value in cache - " + mcc.get("test_prepend"));
fo = mcc.prepend("prepend","prepend_1");
// 輸出值
System.out.println("prepend_1 value in cache - " + mcc.get("prepend"));
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
//cas
public void cas() {
try {
MemcachedClient mcc = connect();
// 存儲資料
Future fo = mcc.set("test_cas", 900, "CAS");
// 輸出值
System.out.println("CAS value in cache - " + mcc.get("test_cas"));
CASValue cas = mcc.gets("test_cas");
System.out.println("cas value---"+cas.getCas());
// 關閉連接配接
mcc.shutdown();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
9.Memcached查找指令:
get memcached_new
get memcached,memcached_new,test_append
gets memcached_new
gets memcached,memcached_new,test_append
delete memcached
key memcached初始值為10,使用incr之後key memcached 值變成15
set memcached 900 10
incr memcached 5
key memcached初始值為10,使用decr之後key memcached 值變成5
set memcached 900 10
decr memcached 5
10.Memcached統計指令:
stat xxx
stat items xxx
stat 1:xxx
stat xx xx
set memcached 900 10
flush_all