在 Data Grid 中使用 Memcached 协议端点


Red Hat Data Grid 8.5

使用 Data Grid Memcached 端点与远程缓存交互

Red Hat Customer Content Services

摘要

Memcached 协议端点允许客户端连接到一个或多个由 Data Grid 支持的 Memcached 服务器并执行缓存操作。

Red Hat Data Grid

Data Grid 是一个高性能分布式内存数据存储。

无架构数据结构
将不同对象存储为键值对的灵活性。
基于网格的数据存储
旨在在集群中分发和复制数据。
弹性扩展
动态调整节点数量,以便在不中断服务的情况下满足需求。
数据互操作性
从不同端点在网格中存储、检索和查询数据。

Data Grid 文档

红帽客户门户网站中提供了 Data Grid 的文档。

Data Grid 下载

访问红帽客户门户上的 Data Grid 软件下载

注意

您必须有一个红帽帐户才能访问和下载数据中心软件。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

第 1 章 Memcached Server

Data Grid 服务器分布包含一个用于实现 Memcached 文本 和二进制 协议的服务器模块。这允许 Memcached 客户端连接一个或多个由 Data Grid 支持的 Memcached 服务器。这些服务器可以独立使用 Memcached,每个服务器都独立运行,且不会与其他服务器进行通信。它们也可以被集群化,服务器可以将其内容复制或分发到其他由 Data Grid 支持的 Memcached 服务器,从而为客户端提供故障转移功能。

在单端口端点上默认启用 Memcached 端点。Memcached 客户端连接将被自动检测并路由到内部连接器。

1.1. 客户端编码

Memcached 文本协议假定客户端读取和写入的数据值是原始字节。

Memcached 客户端无法协商数据类型从服务器获取数据或以不同格式发送数据。可以选择性地将服务器配置为处理使用特定 Media Type 编码的值。通过在 memcached-connector 元素中设置 client-encoding 属性,服务器将返回配置的格式的内容,客户端也可以以此格式发送数据。

当从多个远程端点(如 Rest、HotRod 或 Memcached)访问单个缓存时,client-encoding 很有用。这也允许用户自定义对 Memcached 文本客户端的响应和请求。有关端点间互操作性的详情,请查看端点互操作性文档。

1.2. 协议检测

Data Grid Memcached 连接器通过将 memcached-connector 元素中的 protocol 属性设置为 TEXTBINARYAUTO 之一来支持手动和自动协议配置。自动检测取决于 Memcached 连接器是否处于专用的套接字绑定上,或者是单个端口端点的一部分。在单一端口端点中检测文本协议客户端需要身份验证,以便从其他协议取消请求。

1.3. 安全性

Data Grid Memcached 连接器支持文本和二进制协议的身份验证。由于这两种变体以不同的方式实施身份验证,因此支持的机制依赖于所使用的协议。

1.3.1. 文本协议

Memcached 文本协议中的身份验证是通过一个初始 set 命令执行的,其中键被忽略,值是用户名和由空格分隔的密码的连接。此身份验证方案需要一个支持纯文本的安全域。

1.3.2. 二进制协议

Memcached 二进制协议中的身份验证是通过专用操作执行的,它会包装 SASL 质询/响应方案。此身份验证方案适用于所有 Data Grid 安全域。

1.3.3. 全部刷新

即使在集群环境中,flush_all 命令只清除调用的 Data Grid Memcached 服务器。没有尝试将此 flush 传播到集群中的其他节点。这样做的目的是,可以使用 Data Grid Memcached 服务器来重现延迟用例的 flush_all。将延迟传递给 flush_all 的目的是在不同时间清除不同的 Memcached 服务器,因此避免因为所有 Memcached 服务器都为空,避免所有 Memcached 服务器都带有请求过载数据库。如需更多信息,请参阅有关 flush_all的 Memcached 文本协议部分

1.4. 不支持的功能

本节详细介绍了基于 Data Grid 的 Memcached 实现目前不支持的 Memcached 文本协议功能。

1.4.1. 单个统计

原始 Memcached 实施(基于 C/C++)和 Data Grid 实现(基于 Java)之间存在不同。有一些不支持的一般目的统计。对于这些不支持的统计数据,Data Grid Memcached 服务器 始终返回 0。

不支持的统计信息

  • pointer_size
  • rusage_user
  • rusage_system
  • bytes
  • curr_connections
  • total_connections
  • connection_structures
  • auth_cmds
  • auth_errors
  • limit_maxbytes
  • threads
  • conn_yields
  • 重新声明

统计设置

不支持统计设置。

使用参数参数设置

Data Grid Memcached 服务器不支持将任何参数传递给 stats 命令。如果传递了任何参数,Data Grid Memcached 服务器通过 CLIENT_ERROR 进行响应。

删除冻结时间参数

因为 Memcached 不再遵循 delete 命令的可选的 hold 时间参数,所以基于 Data Grid 的 Memcached 服务器不会实现该功能。

详细程度命令

不支持 verbosity 命令,因为无法简化 Data Grid 日志记录来单独定义日志级别。

meta 协议

不支持 Memcached 1.6 中引入的 Memcached meta 协议。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat