Files
astro-website/openspec/changes/archive/2026-02-10-better-cache/tasks.md
2026-02-10 01:20:58 -05:00

1.2 KiB

1. Cache Service And Config

  • 1.1 Add Redis service to docker-compose.yml and wire basic health/ports for local dev
  • 1.2 Add cache env/config variables (Redis URL/host+port, DB index, default TTL seconds) and document in site/.env.example

2. Cache Client And Utilities

  • 2.1 Add a small Redis cache client wrapper (get/set JSON with TTL, namespaced keys) for Node scripts
  • 2.2 Add logging for cache hit/miss per key to support verification
  • 2.3 Ensure caching is optional: if Redis is unreachable, ingestion proceeds without caching

3. Integrate With Ingestion

  • 3.1 Cache YouTube fetches (API and/or RSS) by source+params and reuse within TTL
  • 3.2 Cache podcast RSS fetch by URL and reuse within TTL
  • 3.3 Cache WordPress wp-json fetches (posts/pages/categories) and reuse within TTL

4. Cache Invalidation

  • 4.1 Add a command/script to manually clear the cache (scoped to configured Redis DB)
  • 4.2 Document the cache clear command usage

5. Verification

  • 5.1 Add a test that exercises the cache wrapper (set/get JSON + TTL expiration behavior)
  • 5.2 Add a test or build verification that a second ingestion run within TTL produces cache hits