为什么Claude Code的缓存命中率能达到100%?
- 内容介绍
- 文章标签
- 相关推荐
最近开了Max 5x,频繁使用CC,所以想弄一个美观且信息密度高的状态栏。
这次没有直接用开源项目的方案,自己结合CC写了一个自定义的状态栏来显示一些必要信息。
有关缓存命中率的部分,我也是参考了Customize your status line官方文档中的定义来计算的。
具体代码片段如下:
# Cache hit rate
CUR_TOTAL_IN=$((CUR_INPUT + CUR_CACHE_CREATE + CUR_CACHE_READ))
if [ "$CUR_TOTAL_IN" -gt 0 ] 2>/dev/null; then
CACHE_HIT=$(awk "BEGIN { printf \"%.0f\", ${CUR_CACHE_READ}/${CUR_TOTAL_IN}*100 }")
CTX_CONTENT+="Hit ${CACHE_HIT}% "
fi
注意到这个缓存命中率一开始可能会在60%至90%,后边的请求会直接达到99%甚至100%。
这就导致这个指标变得没有意义了起来,绝大多数停下来的时候都是100%。╮(╯▽╰)╭
image923×382 37.3 KB
image921×234 18 KB
而且,即使代码中没有限制最大值,这个值也从来没有超过100%。如果是计算方法有误,这个值是不是会偶尔超过100%。
所以,有没有懂的佬友讲一下,是真的能达到这么恐怖的缓存命中率吗?
网友解答:--【壹】--:
有道理。细思极恐,这个缓存命中率如果遇到不支持缓存的API会有多费钱。
--【贰】--:
可能很合理?你的输入虽然一直在加 但是增幅很小?
--【叁】--:
其实你想错了 官方的缓存是不用钱的 而中专的缓存虽然是 10% 输入费用 但是叠加起来 细思极恐
--【肆】--:
KV缓存是一直在的,并且累计的。你这个时候问另外一个项目问题,跟刚才毫无相关,就命中不了了
最近开了Max 5x,频繁使用CC,所以想弄一个美观且信息密度高的状态栏。
这次没有直接用开源项目的方案,自己结合CC写了一个自定义的状态栏来显示一些必要信息。
有关缓存命中率的部分,我也是参考了Customize your status line官方文档中的定义来计算的。
具体代码片段如下:
# Cache hit rate
CUR_TOTAL_IN=$((CUR_INPUT + CUR_CACHE_CREATE + CUR_CACHE_READ))
if [ "$CUR_TOTAL_IN" -gt 0 ] 2>/dev/null; then
CACHE_HIT=$(awk "BEGIN { printf \"%.0f\", ${CUR_CACHE_READ}/${CUR_TOTAL_IN}*100 }")
CTX_CONTENT+="Hit ${CACHE_HIT}% "
fi
注意到这个缓存命中率一开始可能会在60%至90%,后边的请求会直接达到99%甚至100%。
这就导致这个指标变得没有意义了起来,绝大多数停下来的时候都是100%。╮(╯▽╰)╭
image923×382 37.3 KB
image921×234 18 KB
而且,即使代码中没有限制最大值,这个值也从来没有超过100%。如果是计算方法有误,这个值是不是会偶尔超过100%。
所以,有没有懂的佬友讲一下,是真的能达到这么恐怖的缓存命中率吗?
网友解答:--【壹】--:
有道理。细思极恐,这个缓存命中率如果遇到不支持缓存的API会有多费钱。
--【贰】--:
可能很合理?你的输入虽然一直在加 但是增幅很小?
--【叁】--:
其实你想错了 官方的缓存是不用钱的 而中专的缓存虽然是 10% 输入费用 但是叠加起来 细思极恐
--【肆】--:
KV缓存是一直在的,并且累计的。你这个时候问另外一个项目问题,跟刚才毫无相关,就命中不了了

