Workers KV: list() operation - technical characteristics

I plan an app that will include some location based live features. “Live” in this case does not mean true realtime, so Workers KV’s eventual consistency is a perfectly acceptable trade-off for the ease of scaling it provides.
Yet it would help a lot to get a feel for the “usual” technical characteristics of the list() operation of Workers KV to properly plan for user expectations and interactions.

I already have consulted how KV workers as well as the rest of the documentation provided.

In particular three questions remain regarding Workers KV list().

  1. What is the expected P50 / P90 / P99 time an individual list() operation usually takes until it returns? Assume that the list() has a prefix and will yield a result set of 4k5-5k entries, which only have metadata associated with them.
  2. Suppose a key is written into KV with put(). Now the only claim in the documentation is that that key will be updated eventually within 60s across the whole :logo: CF network. But if a list() were to run in the same datacenter as the put() was performed, what would be expected P50 / P90 / P99 delays for that key to show up in the results of the list() call?
  3. Is there a way to get an in-advance count of the expected size of the result set for a certain list() operation? That way I could adjust certain parameters beforehand in case of expecting many tens of thousands of entries over dozens of list() calls. Such a result set would be too large to be helpful to any user, so it would make sense in such a case to apply a more narrow prefix straight away.

Furthermore, I’d be very interested to see the option to filter by age (key updated since timestamp T) and by metadata (metadata has key K / metadata key K equals value V).

TY for reading.

@KentonVarda would you, or someone else on the team, be so kind to spare some time?
Thanks a lot! :slightly_smiling_face: