缓存 (caches)

caches 端点提供了对应用程序缓存的访问。

检索所有缓存

要检索应用程序的缓存,可以按照以下基于 curl 的示例,向 /actuator/caches 发起一个 GET 请求:

curl 'http://localhost:8080/actuator/caches' -i -X GET

返回的响应类似于以下内容:

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 435

{
  "cacheManagers" : {
    "anotherCacheManager" : {
      "caches" : {
        "countries" : {
          "target" : "java.util.concurrent.ConcurrentHashMap"
        }
      }
    },
    "cacheManager" : {
      "caches" : {
        "cities" : {
          "target" : "java.util.concurrent.ConcurrentHashMap"
        },
        "countries" : {
          "target" : "java.util.concurrent.ConcurrentHashMap"
        }
      }
    }
  }
}

响应结构

响应包含应用程序缓存的详细信息。下表描述了响应的结构:

路径

类型

描述

cacheManagers

Object

以 ID 为键的缓存管理器。

cacheManagers.*.caches

Object

应用程序上下文中以名称为键的缓存。

cacheManagers.*.caches.*.target

String

原生缓存的完全限定名称。

按名称检索缓存

要按名称检索缓存,可以按照以下基于 curl 的示例,向 /actuator/caches/{name} 发起一个 GET 请求:

curl 'http://localhost:8080/actuator/caches/cities' -i -X GET

上述示例检索了名为 cities 的缓存的信息。返回的响应类似于以下内容:

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 113

{
  "target" : "java.util.concurrent.ConcurrentHashMap",
  "name" : "cities",
  "cacheManager" : "cacheManager"
}

查询参数

如果请求的名称足够具体以标识单个缓存,则不需要额外的参数。 否则,必须指定 cacheManager。下表显示了支持的查询参数:

参数

描述

cacheManager

用于限定缓存的 cacheManager 名称。如果缓存名称是唯一的,可以省略。

响应结构

响应包含请求缓存的详细信息。下表描述了响应的结构:

路径

类型

描述

name

String

缓存名称。

cacheManager

String

缓存管理器名称。

target

String

原生缓存的完全限定名称。

清空所有缓存

要清空所有可用缓存,可以按照以下基于 curl 的示例,向 /actuator/caches 发起一个 DELETE 请求:

curl 'http://localhost:8080/actuator/caches' -i -X DELETE

按名称清空缓存

要清空特定的缓存,可以按照以下基于 curl 的示例,向 /actuator/caches/{name} 发起一个 DELETE 请求:

$ curl 'http://localhost:8080/actuator/caches/countries?cacheManager=anotherCacheManager' -i -X DELETE \
    -H 'Content-Type: application/x-www-form-urlencoded'
由于有两个名为 countries 的缓存,因此需要提供 cacheManager 来指定要清空的 Cache

请求结构

如果请求的名称足够具体以标识单个缓存,则不需要额外的参数。否则,必须指定 cacheManager。下表显示了支持的查询参数:

参数

描述

cacheManager

用于限定缓存的 cacheManager 名称。如果缓存名称是唯一的,可以省略。