树叶云Memcached教程:Java 连接 Memcached 服务

Java 连接 Memcached 服务

使用 Java 程序连接 Memcached,需要在你的 classpath 中添加 Memcached jar 包。

本站 jar 包下载地址:spymemcached-2.10.3.jar。

Google Code jar 包下载地址:spymemcached-2.10.3.jar(需要科学上网)。

以下程序假定 Memcached 服务的主机为 127.0.0.1,端口为 11211。

连接实例

Java 连接 Memcached

MemcachedJava.java 文件:

import

net
.
spy
.
memcached
.
MemcachedClient
;
import

java
.
net
.*;
public

class

MemcachedJava

{

public

static

void

main
(
String
[
]

args
)

{

try
{

//
本地连接 Memcached 服务


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)
{

System
.
out
.
println
(

ex
.
getMessage
(
)

)
;
}

}

}

该程序中我们使用 InetSocketAddress 连接 IP 为 127.0.0.1 端口 为 11211 的 memcached 服务。

执行以上代码,如果连接成功会输出以下信息:

Connection to server successful.

set 操作实例

以下使用 java.util.concurrent.Future 来存储数据

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
存储数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
查看存储状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
输出值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)
{

System
.
out
.
println
(

ex
.
getMessage
(
)

)
;
}

}

}

执行程序,输出结果为:

Connection to server successful.
set status:true
runoob value in cache - Free Education

add 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
打印状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
输出


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
添加


fo
=
mcc
.
add
(

runoob

,
900
,

memcached

)
;
//
打印状态


System
.
out
.
println
(

add status:

+
fo
.
get
(
)
)
;
//
添加新key


fo
=
mcc
.
add
(

runoob

,
900
,

All Free Compilers

)
;
//
打印状态


System
.
out
.
println
(

add status:

+
fo
.
get
(
)
)
;
//
输出


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)
{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

replace 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加第一个 key=》value 对


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
输出执行 add 方法后的状态


System
.
out
.
println
(

add status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
添加新的 key


fo
=
mcc
.
replace
(

runoob

,
900
,

Largest Tutorials’ Library

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

replace status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)
{

System
.
out
.
println
(

ex
.
getMessage
(
)

)
;
}

}

}

append 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
对存在的key进行数据添加操作


fo
=
mcc
.
append
(

runoob

,
900
,

for All

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

append status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
; ]
}

}

prepend 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Education for All

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
对存在的key进行数据添加操作


fo
=
mcc
.
prepend
(

runoob

,
900
,

Free

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

prepend status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
使用 get 方法获取数据


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方法来更新数据


CASResponse

casresp
=
mcc
.
cas
(

runoob

,
casValue
.
getCas
(
)
,
900
,

Largest Tutorials-Library

)
;
//
输出 CAS 响应信息


System
.
out
.
println
(

CAS Response –

+
casresp
)
;
//
输出值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

get 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
使用 get 方法获取数据


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

gets 操作实例、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 服务


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

Free Education

)
;
//
输出执行 set 方法后的状态


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
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

delete 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数据


Future

fo
=
mcc
.
set
(

runoob

,
900
,

World’s largest online tutorials library

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
对存在的key进行数据添加操作


fo
=
mcc
.
delete
(

runoob

)
;
//
输出执行 delete 方法后的状态


System
.
out
.
println
(

delete status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


System
.
out
.
println
(

runoob value in cache –

+
mcc
.
get
(

runoob

)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

Incr/Decr 操作实例

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


MemcachedClient

mcc
=
new

MemcachedClient
(
new

InetSocketAddress
(

127.0.0.1

,
11211
)
)
;
System
.
out
.
println
(

Connection to server successful.

)
;
//
添加数字值


Future

fo
=
mcc
.
set
(

number

,
900
,

1000

)
;
//
输出执行 set 方法后的状态


System
.
out
.
println
(

set status:

+
fo
.
get
(
)
)
;
//
获取键对应的值


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
)
)
;
//
关闭连接


mcc
.
shutdown
(
)
;
}
catch
(
Exception

ex
)

{

System
.
out
.
println
(
ex
.
getMessage
(
)
)
;
}

}

}

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/231820.html<

(0)
管理的头像管理
上一篇2025-04-19 21:21
下一篇 2025-04-19 21:22

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注