Zend OPcache 的“num_cached_keys”统计数据意味着什么?

Zil*_*ilk 3 php opcache

返回的数据点包括opcache_get_status()

'opcache_statistics' => [
    'num_cached_scripts' => 90,
    'num_cached_keys' => 96,
    'max_cached_keys' => 3907,
    ...
]
Run Code Online (Sandbox Code Playgroud)

缓存的脚本数量是正确且可以理解的(可以通过统计'scripts'返回值的部分来确认)。但“钥匙”到底指的是什么?我假设 Zend OPcache 可以组织为键/值存储。在这种情况下,脚本和密钥之间应该存在一对一的关系,除非......

  • OPcache 还存储脚本以外的内容,或者
  • 一些脚本使用 2 个或更多键存储

我没有看到用于列出 OPcache 使用的密钥的 API。

Jon*_*Jon 5

OPcache对其每个哈希表进行单独的num_entries统计;num_direct_entries这些值直接对应于的结果中的num_cached_keys和。num_cached_scriptsopcache_get_status

代码中的注释直接支持您的第二个假设:某些内容缓存在多个键下。