你不需要下载一个“Memcached for Java”的独立安装包。

Memcached 本身是一个用 C/C++ 编写的、独立的、高性能的内存对象缓存系统,它是一个服务器,你需要先下载并运行这个服务器。
在你的 Java 项目中,你需要下载一个Java 客户端库,这个库会帮助你以 Java 的方式连接和操作那个正在运行的 Memcached 服务器。
整个过程分为两步:
- 下载并运行 Memcached 服务器
- 下载 Java 客户端库并在你的项目中使用
第 1 步:下载并运行 Memcached 服务器
这是前提,没有服务器,客户端就无处连接。

1 官方下载
- 官网: https://memcached.org/downloads
- 你会找到最新稳定版的源代码下载链接(通常是
.tar.gz或.zip文件)。
2 更简单的安装方式(推荐)
对于大多数开发者,直接下载编译好的二进制文件或使用包管理器安装会更方便。
对于 Windows 用户: Windows 上没有官方原生支持,但社区有一些解决方案,最推荐的是使用 Scoop 或 Chocolatey 等包管理器。
-
使用 Scoop (推荐):
- 安装 Scoop: https://scoop.sh/
- 在命令行中运行:
scoop install memcached - 安装后,可以通过
memcached.exe命令启动服务。
-
手动下载:
- 你可以搜索 "Memcached for Windows",找到一些第三方编译的版本,一些旧版本的 Memcached 可以在 这里 找到。
- 下载后,解压,然后运行
memcached.exe -d install安装为服务,再用net start memcached启动。
对于 Linux (如 Ubuntu/Debian) 用户:
# 更新软件包列表 sudo apt-get update # 安装 memcached sudo apt-get install memcached # 启动 memcached 服务 sudo systemctl start memcached # 设置开机自启 sudo systemctl enable memcached
对于 macOS 用户 (使用 Homebrew):
# 安装 memcached brew install memcached # 启动 memcached 服务 (可以 brew services start memcached 来设置为后台服务) memcached -d
3 验证服务器是否运行
在命令行中输入 telnet 127.0.0.1 11211 (11211 是 Memcached 的默认端口)。
如果能连接上并出现一个空白的光标,说明服务器正在运行,按 Ctrl+] 然后输入 quit 退出。
第 2 步:下载 Java 客户端库
当你的 Memcached 服务器成功运行后,就可以在你的 Java 项目中选择一个客户端库了,目前最主流和推荐的是 SpyMemcached 和 XMemcached。
1 主流 Java 客户端库推荐
| 客户端库 | 特点 | 推荐度 | Maven/Gradle 依赖 |
|---|---|---|---|
| SpyMemcached | 历史悠久,稳定,广泛使用,API 相对简单。 | ⭐⭐⭐⭐ | com.googlecode.xmemcached:xmemcached:2.4.7 |
| XMemcached | 性能极高,功能强大(支持一致性哈希、NIO 等),社区活跃,是目前的首选。 | ⭐⭐⭐⭐⭐ | com.googlecode.xmemcached:xmemcached:2.4.7 |
| Spymemcached | 早期的经典选择,但现在 XMemcached 在性能和功能上通常更优。 | ⭐⭐⭐ | net.spy:spymemcached:2.12.3 |
强烈推荐使用 XMemcached。
2 如何在项目中添加客户端库(以 Maven 为例)
在你的 pom.xml 文件中,添加你选择的客户端库的依赖。
示例:使用 XMemcached
<dependencies>
<!-- 添加 XMemcached 客户端依赖 -->
<dependency>
<groupId>com.googlecode.xmemcached</groupId>
<artifactId>xmemcached</artifactId>
<version>2.4.7</version> <!-- 建议使用最新版本 -->
</dependency>
</dependencies>
如果你使用的是 Gradle,在 build.gradle 文件中添加:
dependencies {
// 添加 XMemcached 客户端依赖
implementation 'com.googlecode.xmemcached:xmemcached:2.4.7' // 建议使用最新版本
}
第 3 步:编写 Java 代码连接和操作 Memcached
你已经有了服务器和客户端库,可以写代码了。
示例代码(使用 XMemcached)
import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.XMemcachedClient;
import net.rubyeye.xmemcached.exception.MemcachedException;
import java.util.concurrent.TimeoutException;
public class MemcachedJavaExample {
public static void main(String[] args) {
// 1. 创建一个 Memcached 客户端
// 参数是 Memcached 服务器的 IP 和端口
MemcachedClient memcachedClient = null;
try {
memcachedClient = new XMemcachedClient("127.0.0.1", 11211);
// 2. 存储一个键值对
// set(key, 超时时间(秒), value)
// 返回 true 表示成功
boolean success = memcachedClient.set("user:1001", 3600, "张三");
System.out.println("存储 'user:1001' 是否成功: " + success);
// 3. 获取一个键值对
String value = memcachedClient.get("user:1001");
System.out.println("获取 'user:1001' 的值: " + value);
// 4. 替换一个已存在的键值对
success = memcachedClient.replace("user:1001", 3600, "李四");
System.out.println("替换 'user:1001' 是否成功: " + success);
value = memcachedClient.get("user:1001");
System.out.println("替换后获取 'user:1001' 的值: " + value);
// 5. 删除一个键值对
success = memcachedClient.delete("user:1001");
System.out.println("删除 'user:1001' 是否成功: " + success);
value = memcachedClient.get("user:1001");
System.out.println("删除后获取 'user:1001' 的值: " + value); // 应该输出 null
} catch (Exception e) {
e.printStackTrace();
} finally {
// 6. 关闭客户端,释放资源
if (memcachedClient != null) {
try {
memcachedClient.shutdown();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
- 下载服务器:去 memcached.org 下载服务器程序,或使用包管理器(Scoop, apt, brew)安装。
- 启动服务器:确保
memcached服务在你的机器上运行在0.0.1:11211。 - 下载客户端库:在你的 Java 项目的
pom.xml或build.gradle中添加 XMemcached 或 SpyMemcached 的依赖。 - 编写代码:使用客户端库提供的 API(如
set,get,delete等)来操作 Memcached 服务器。
