清除缓存 API

编辑

将用户从用户缓存中逐出。您可以完全清除缓存或逐出特定用户。

请求

编辑

POST /_security/realm/<realms>/_clear_cache

POST /_security/realm/<realms>/_clear_cache?usernames=<usernames>

描述

编辑

用户凭据缓存在每个节点的内存中,以避免连接到远程身份验证服务或为每个传入请求访问磁盘。您可以使用 realm 设置来配置用户缓存。有关更多信息,请参阅控制用户缓存

要从角色缓存中逐出角色,请参阅清除角色缓存 API。要从权限缓存中逐出权限,请参阅清除权限缓存 API。要从 API 密钥缓存中逐出 API 密钥,请参阅清除 API 密钥缓存 API

路径参数

编辑
<realms>
(必需,字符串)要清除的 realm 的逗号分隔列表。要清除所有 realm,请使用 *。不支持其他通配符模式。
usernames
(可选,列表)要从缓存中清除的用户的逗号分隔列表。如果您未指定此参数,则 API 会从用户缓存中逐出所有用户。

示例

编辑

例如,要逐出 file realm 缓存的所有用户

resp = client.security.clear_cached_realms(
    realms="default_file",
)
print(resp)
const response = await client.security.clearCachedRealms({
  realms: "default_file",
});
console.log(response);
POST /_security/realm/default_file/_clear_cache

要逐出选定的用户,请指定 usernames 参数

resp = client.security.clear_cached_realms(
    realms="default_file",
    usernames="rdeniro,alpacino",
)
print(resp)
const response = await client.security.clearCachedRealms({
  realms: "default_file",
  usernames: "rdeniro,alpacino",
});
console.log(response);
POST /_security/realm/default_file/_clear_cache?usernames=rdeniro,alpacino

要清除多个 realm 的缓存,请将 realm 指定为逗号分隔的列表

resp = client.security.clear_cached_realms(
    realms="default_file,ldap1",
)
print(resp)
const response = await client.security.clearCachedRealms({
  realms: "default_file,ldap1",
});
console.log(response);
POST /_security/realm/default_file,ldap1/_clear_cache

要清除所有 realm 的缓存,请使用 *

resp = client.security.clear_cached_realms(
    realms="*",
)
print(resp)
const response = await client.security.clearCachedRealms({
  realms: "*",
});
console.log(response);
POST /_security/realm/*/_clear_cache