新聞中心
Java 連接 Memcached 服務(wù)
使用 Java 程序連接 Memcached,需要在你的 classpath 中添加 Memcached jar 包。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、余杭網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、余杭網(wǎng)絡(luò)營銷、余杭企業(yè)策劃、余杭品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供余杭建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
本站 jar 包下載地址:spymemcached-2.10.3.jar。
Google Code jar 包下載地址:spymemcached-2.10.3.jar(需要科學(xué)上網(wǎng))。
以下程序假定 Memcached 服務(wù)的主機(jī)為 127.0.0.1,端口為 11211。
連接實(shí)例
Java 連接 Memcached
MemcachedJava.java 文件:
import
net
.
spy
.
memcached
.
MemcachedClient
;
import
java
.
net
.*;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
本地連接 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
該程序中我們使用 InetSocketAddress 連接 IP 為 127.0.0.1 端口 為 11211 的 memcached 服務(wù)。
執(zhí)行以上代碼,如果連接成功會(huì)輸出以下信息:
Connection to server successful.
set 操作實(shí)例
以下使用 java.util.concurrent.Future 來存儲(chǔ)數(shù)據(jù)
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
存儲(chǔ)數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
查看存儲(chǔ)狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
輸出值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
執(zhí)行程序,輸出結(jié)果為:
Connection to server successful. set status:true runoob value in cache - Free Education
add 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
打印狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
輸出
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
添加
fo
=
mcc
.
add
(
"
runoob
"
,
900
,
"
memcached
"
)
;
//
打印狀態(tài)
System
.
out
.
println
(
"
add status:
"
+
fo
.
get
(
)
)
;
//
添加新key
fo
=
mcc
.
add
(
"
runoob
"
,
900
,
"
All Free Compilers
"
)
;
//
打印狀態(tài)
System
.
out
.
println
(
"
add status:
"
+
fo
.
get
(
)
)
;
//
輸出
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
replace 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加第一個(gè) key=》value 對(duì)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
輸出執(zhí)行 add 方法后的狀態(tài)
System
.
out
.
println
(
"
add status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
添加新的 key
fo
=
mcc
.
replace
(
"
runoob
"
,
900
,
"
Largest Tutorials' Library
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
replace status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
append 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
對(duì)存在的key進(jìn)行數(shù)據(jù)添加操作
fo
=
mcc
.
append
(
"
runoob
"
,
900
,
"
for All
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
append status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
; ]
}
}
prepend 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Education for All
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
對(duì)存在的key進(jìn)行數(shù)據(jù)添加操作
fo
=
mcc
.
prepend
(
"
runoob
"
,
900
,
"
Free
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
prepend status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
CAS 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
CASValue
;
import
net
.
spy
.
memcached
.
CASResponse
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
使用 get 方法獲取數(shù)據(jù)
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
通過 gets 方法獲取 CAS token(令牌)
CASValue
casValue
=
mcc
.
gets
(
"
runoob
"
)
;
//
輸出 CAS token(令牌) 值
System
.
out
.
println
(
"
CAS token -
"
+
casValue
)
;
//
嘗試使用cas方法來更新數(shù)據(jù)
CASResponse
casresp
=
mcc
.
cas
(
"
runoob
"
,
casValue
.
getCas
(
)
,
900
,
"
Largest Tutorials-Library
"
)
;
//
輸出 CAS 響應(yīng)信息
System
.
out
.
println
(
"
CAS Response -
"
+
casresp
)
;
//
輸出值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
get 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
使用 get 方法獲取數(shù)據(jù)
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
gets 操作實(shí)例、CAS
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
CASValue
;
import
net
.
spy
.
memcached
.
CASResponse
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
Free Education
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
從緩存中獲取鍵為 runoob 的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
通過 gets 方法獲取 CAS token(令牌)
CASValue
casValue
=
mcc
.
gets
(
"
runoob
"
)
;
//
輸出 CAS token(令牌) 值
System
.
out
.
println
(
"
CAS value in cache -
"
+
casValue
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
delete 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)據(jù)
Future
fo
=
mcc
.
set
(
"
runoob
"
,
900
,
"
World's largest online tutorials library
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
對(duì)存在的key進(jìn)行數(shù)據(jù)添加操作
fo
=
mcc
.
delete
(
"
runoob
"
)
;
//
輸出執(zhí)行 delete 方法后的狀態(tài)
System
.
out
.
println
(
"
delete status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
runoob value in cache -
"
+
mcc
.
get
(
"
runoob
"
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
Incr/Decr 操作實(shí)例
MemcachedJava.java 文件:
import
java
.
net
.
InetSocketAddress
;
import
java
.
util
.
concurrent
.
Future
;
import
net
.
spy
.
memcached
.
MemcachedClient
;
public
class
MemcachedJava
{
public
static
void
main
(
String
[
]
args
)
{
try
{
//
連接本地的 Memcached 服務(wù)
MemcachedClient
mcc
=
new
MemcachedClient
(
new
InetSocketAddress
(
"
127.0.0.1
"
,
11211
)
)
;
System
.
out
.
println
(
"
Connection to server successful.
"
)
;
//
添加數(shù)字值
Future
fo
=
mcc
.
set
(
"
number
"
,
900
,
"
1000
"
)
;
//
輸出執(zhí)行 set 方法后的狀態(tài)
System
.
out
.
println
(
"
set status:
"
+
fo
.
get
(
)
)
;
//
獲取鍵對(duì)應(yīng)的值
System
.
out
.
println
(
"
value in cache -
"
+
mcc
.
get
(
"
number
"
)
)
;
//
自增并輸出
System
.
out
.
println
(
"
value in cache after increment -
"
+
mcc
.
incr
(
"
number
"
,
111
)
)
;
//
自減并輸出
System
.
out
.
println
(
"
value in cache after decrement -
"
+
mcc
.
decr
(
"
number
"
,
112
)
)
;
//
關(guān)閉連接
mcc
.
shutdown
(
)
;
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}
}
}
文章標(biāo)題:創(chuàng)新互聯(lián)Memcached教程:Java連接Memcached服務(wù)
當(dāng)前鏈接:http://fisionsoft.com.cn/article/coosdoe.html


咨詢
建站咨詢
