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
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