* Simplify redis cache and remove hits count
* Fix naming
* Update src/lib/tracing.ts
Co-authored-by: Steven H <shne24@gmail.com>
---------
Co-authored-by: Steven H <shne24@gmail.com>
* Add unit tests for "race"
* Reduce to 80s
* Implement a Cloudflare KV cache
* Format
* Lint
* Fix tagging of entries in KV
* No longer use HTTP cache tags
* Simplify tags to only keep 2
* Implement a blockFallback logic
* Improve the block fallback logic
* More tests
* Start introducing a always optional signal on all cache ops
* Correctly pass signal end to end
* Fix one more case and add tests
* Fix it
* Add test for error
* Fix error handling
* Simplify even more
* Improve logs
* Improve logs / measurements
* Fix timing
* Fix read cache duration and add minor tests
* Log redis time
* Change replication logic
* Fix redis errors
* Log more
* More logs and test memory first
* Improve tracing for cache backends
* Ignore all dependencies
* Log the key in the cache low level traces
* Disable browser caching
* Improve cache read
* Fix
* Try using it for lookup
* Read before increment in redis
* Don't use multi
* Limit cache to 2min in cloudflare
* Cache in cloudflare but not in the browser
* Use input url instead of request url
* Improve cache purging
* Lint
* Fix TS
* Add method to delete from cloudflare
* Clear on all backends
* Fix
* Add global cloudflare tag
* Add tests for getURLLookupAlternatives
* Match correctly revisions and changes URLs
* Use revision and changerequets ID passed from lookup
* Prevent indexing these urls
* Start
* Start rendering toolbar
* Update api client
* Format
* Format
* Mock resolve of snippet
* Add test for revision
* Accept an option to purge without refreshing
* Store hits on the redis cache entry
* Revalidate first the entries with the most hits
* Format
* bun
* Ignore error from JSON.NUMINCRBY
* Store arguments and tags in redis cache
* Refactor cache to support revalidation
* Format
* Fix redis cache
* Try with both GT and NX
* Fix get from redis
* Fix json syntax
* New attempt
* Fix log
* Skip case where there is no key for tags
* New try
* Ignore when no tags is passed