{"id":15723559,"url":"https://github.com/patrick-kw-chiu/cache-cloud","last_synced_at":"2025-10-30T06:43:31.299Z","repository":{"id":189647129,"uuid":"667165033","full_name":"patrick-kw-chiu/cache-cloud","owner":"patrick-kw-chiu","description":"Fast serverless caching via HTTP endpoints, built on Cloudflare Workers, KV and Hono","archived":false,"fork":false,"pushed_at":"2024-09-14T04:07:29.000Z","size":4407,"stargazers_count":38,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-20T23:52:23.962Z","etag":null,"topics":["cache","cache-storage","cloudflare-workers","edge","http","kv","kv-store","redis","serverless"],"latest_commit_sha":null,"homepage":"https://medium.com/@patrick-kw-chiu/need-some-quick-cache-try-cache-cloud-35269aa703eb","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrick-kw-chiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-16T21:14:49.000Z","updated_at":"2025-08-21T03:55:01.000Z","dependencies_parsed_at":"2024-06-22T22:26:30.101Z","dependency_job_id":"0ffc4aec-5836-442d-973d-11aa9884709a","html_url":"https://github.com/patrick-kw-chiu/cache-cloud","commit_stats":null,"previous_names":["patrick-kw-chiu/cache-cloud"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patrick-kw-chiu/cache-cloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick-kw-chiu%2Fcache-cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick-kw-chiu%2Fcache-cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick-kw-chiu%2Fcache-cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick-kw-chiu%2Fcache-cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrick-kw-chiu","download_url":"https://codeload.github.com/patrick-kw-chiu/cache-cloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick-kw-chiu%2Fcache-cloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281761829,"owners_count":26557114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cache","cache-storage","cloudflare-workers","edge","http","kv","kv-store","redis","serverless"],"created_at":"2024-10-03T22:12:16.659Z","updated_at":"2025-10-30T06:43:31.229Z","avatar_url":"https://github.com/patrick-kw-chiu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/patrick-kw-chiu/cache-cloud/blob/main/assets/cash-cow-200px.png?raw=true\" alt=\"Cache Cloud | Generated with Stable Diffusion\"\u003e\n  \u003ch6 align=\"center\"\u003e\n    Icon generated with \u003ca href=\"https://stablediffusionweb.com/\"\u003eStable Diffusion\u003c/a\u003e\n  \u003c/h6\u003e\n\u003c/p\u003e\n\nCache Cloud quickly turns your [**Cloud**flare Workers](https://workers.cloudflare.com/) and [KV](https://medium.com/r?url=https%3A%2F%2Fwww.cloudflare.com%2Fproducts%2Fworkers-kv%2F) into a **fast serverless cache store with HTTP endpoints**, built on top of [Hono](https://github.com/honojs/hono).\n\n## Quick example\n\n`npx cache-cloud-cli` to setup everything in 5 mins, and...\n\n```javascript\n// You can define your own `cacheKey`, save and get values from it\n// e.g. user%3A1%3A \u003c= encodeURIComponent('user:1:')\nconst cacheKey = 'latest-blog-posts';\nconst response = await fetch(`${YOUR_CACHE_CLOUD_HOST}/kv/values/${cacheKey}`);\n\nconst { success, result: latestBlogPosts } = await response.json();\nif (!success || !latestBlogPosts) {\n  // Cache not found :(\n  // Fetch and cache it here!\n}\n\n// Cache found, return it instantly!\nreturn res.json(latestBlogPosts);\n```\n\n## Quick links\n\n[Get Started Guide](https://github.com/patrick-kw-chiu/cache-cloud/blob/main/doc/GET-STARTED.md) | [API Doc](https://github.com/patrick-kw-chiu/cache-cloud/blob/main/doc/API-DOC.md) | [Detailed Benchmarks](https://github.com/patrick-kw-chiu/cache-cloud/blob/main/doc/benchmarks/BENCHMARKS.md)\n\n## Features\n\nCache Cloud leverages the edgy and serverless nature of Cloudflare Workers and KV and is very affordable.\n\n- **HTTP first** 🌐 - Cache Cloud lets you access Cloudflare Workers KV all over the world by making HTTP calls\n- **Frequent Read** 📖, but **Infrequent Write** 📝 - Cache Cloud works best when your application needs to read quickly and frequently, but writes relatively infrequently\n- **Serverless** 📈 - Thanks to Cloudflare Worker's infrastructure, Cache Cloud is auto-scaling, has zero cold starts with no servers to maintain.\n- **Affordable** 🤑 - Cache Cloud doesn't impose additional costs. Charging is entirely based on Cloudflare Workers and KV, which offer a generous free quota (100,000 requests daily) with affordable paid plans ($5/10 million requests).\n\n## Benchmarks\n\nNote: There could be deviations if the benchmarking scripts are executed in different locations in the world.\n\nSee detailed results in the [benchmarks doc](https://github.com/patrick-kw-chiu/cache-cloud/blob/main/doc/benchmarks/BENCHMARKS.md)\n\n### Operation latency (ms)\n\n|                      | Read 1 key | Read 5 keys | Read 20 keys | Write 1 key | Delete 1 key | List 100 keys |\n| -------------------- | ---------- | ----------- | ------------ | ----------- | ------------ | ------------- |\n| Mean                 | 30         | 40          | 85           | 134         | 131          | 31            |\n| Min                  | 20         | 25          | 62           | 101         | 86           | 22            |\n| Lower quartile (25%) | 25         | 31          | 75           | 128         | 113          | 25            |\n| Median (50%)         | 27         | 34          | 80           | 134         | 132          | 28            |\n| Upper quartile (75%) | 31         | 38          | 87           | 139         | 138          | 31            |\n| Max                  | 244        | 373         | 733          | 313         | 341          | 158           |\n\n## Blogs\n\n- [Need some quick cache? Try Cache Cloud!](https://medium.com/@patrick-kw-chiu/need-some-quick-cache-try-cache-cloud-35269aa703eb)\n- [Turn your Cloudflare Workers and KV into a fast serverless cache store with HTTP endpoints](https://dev.to/patrickkwchiu/turn-your-cloudflare-workers-and-kv-into-a-fast-serverless-cache-store-with-http-endpoints-102g)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrick-kw-chiu%2Fcache-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrick-kw-chiu%2Fcache-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrick-kw-chiu%2Fcache-cloud/lists"}