Anyone surfacing KV in interesting ways?

I’m curious to see some examples of entires in KV namespaces being utilized in unique ways.

Be it KV log entries then displayed in some sort of chart and analytics UI. Or data made exportable into spreadsheets, calendars, or elsewhere. Or?

Just looking for unique ways the Workers community is surfacing/using KV data, in general! /cc @signalnerve @zack

1 Like

I don’t know if it’s unique but while building PLUMA we use KV for everything…

  • Storing static assets for our branded “CDN”
  • Storing user files
  • Caching HTML responses of static user content (as a fallback for the cache API)
  • Static sites
  • Caching DB responses
  • User sessions

Hey that’s awesome! Thanks for sharing your use-case of it!

I’m utilizing KV quite a bit with plinkhq.com - like when creating custom link paths and applicable data nested underneath key to then read from, plnk.to/thenw?to=page.

plinkhq.com ‘s “search” is using workers’ kv?

Not the main search functionality on marketing site, no that’s our internal API that couples together multiple data sources. The custom links plnk(dot)to domain routing functionality is partially powered by it, though.

You know, though not explicitly stated, I’m imagining this Splitbee a/b testing solution to utilize more than just Workers, they could be utilizing KV for certain analytics-based and tests-based data to then surface in the UI for customers.

Not definitive, but possible. Interesting use-case/example of what I’m seeking!

I’ve been working on trackbase.app, a music playlist site, as a fun side project to test out using immutable non-expiring KV blobs for everything.

The site is originless, and uses these blobs as the backing store for the single javascript webapp asset, all images, and the data itself (including the playlist spin index of ~650,000 entries split across two blobs). Since they are immutable, they cache well in each colo and then also on the client.

Each released script depends on a graph of these blobs, so I can garbage collect obsolete KV and keep the storage to a minimum.

Also, since the cloudflare worker does most of the work (all pages are dynamically rendered), the site is still functional with client javascript turned off.