Cf-cache-status: MISS despite setup cache rule

I get a “cf-cache-status: MISS” pretty often, despite a setup cache-rule:

(http.request.uri eq “/api/?r=bestratings”) or (http.request.uri eq “/api/?r=bestseller”) or (http.request.uri eq “/api/?r=deals”)
with cache-control:max-age=86400

Here is my response header:

access-control-allow-credentials: true
access-control-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
access-control-allow-methods: GET, POST, OPTIONS
cache-control: max-age=86400
cf-cache-status: MISS
cf-ray: 7b8d9a932c51bb5b-FRA
content-encoding: br
content-type: application/json; charset=utf-8
date: Sun, 16 Apr 2023 15:54:06 GMT
last-modified: Sun, 16 Apr 2023 15:54:06 GMT
link: <https://www.mydomain.com/api/index.php?rest_route=/>; rel="https://api.w.org/"
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=YOhjyB4Yj6NZc7z9xZJLDdkpY1D5Lp2xehl1PRtjjiQHPuJCPLrBQDyLVOf3Z5eD0tK02EY3pp%2B2twNXL7%2FifC5WSEcDAHly0%2FwpFZ4mz7AQPjJvqH5jOfLXUfYuvFSc3al6MxtEDr73wRWKERzh"}],"group":"cf-nel","max_age":604800}
server: cloudflare
vary: Accept-Encoding

could you help me understand why I get a MISS every 10min?

Hi,

When you set TTL to a certain amount of seconds, that would be the maximum period Cloudflare should keep the content in cache. However, Cloudflare will “evict” pages from cache for less frequently requested content. Also, each request may be routed to a different Cloudflare colocation, resulting in more MISS results at first. One way to reduce this behavior is to enable Tiered Cache.

Thanks. My goal would be to ensure that for specific URLs are cached for 24h. In your experience, what are the best ways to solve it? I have now enabled tiered cache, but may be there is something else?