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()
.
- What is the expected P50 / P90 / P99 time an individual
list()
operation usually takes until it returns? Assume that thelist()
has a prefix and will yield a result set of 4k5-5k entries, which only have metadata associated with them. - 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 wholeCF network. But if a
list()
were to run in the same datacenter as theput()
was performed, what would be expected P50 / P90 / P99 delays for that key to show up in the results of thelist()
call? - 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 oflist()
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.