27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
## 1. Cache Service And Config
|
|
|
|
- [x] 1.1 Add Redis service to `docker-compose.yml` and wire basic health/ports for local dev
|
|
- [x] 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
|
|
|
|
- [x] 2.1 Add a small Redis cache client wrapper (get/set JSON with TTL, namespaced keys) for Node scripts
|
|
- [x] 2.2 Add logging for cache hit/miss per key to support verification
|
|
- [x] 2.3 Ensure caching is optional: if Redis is unreachable, ingestion proceeds without caching
|
|
|
|
## 3. Integrate With Ingestion
|
|
|
|
- [x] 3.1 Cache YouTube fetches (API and/or RSS) by source+params and reuse within TTL
|
|
- [x] 3.2 Cache podcast RSS fetch by URL and reuse within TTL
|
|
- [x] 3.3 Cache WordPress `wp-json` fetches (posts/pages/categories) and reuse within TTL
|
|
|
|
## 4. Cache Invalidation
|
|
|
|
- [x] 4.1 Add a command/script to manually clear the cache (scoped to configured Redis DB)
|
|
- [x] 4.2 Document the cache clear command usage
|
|
|
|
## 5. Verification
|
|
|
|
- [x] 5.1 Add a test that exercises the cache wrapper (set/get JSON + TTL expiration behavior)
|
|
- [x] 5.2 Add a test or build verification that a second ingestion run within TTL produces cache hits
|