Commit graph

8 commits

Author SHA1 Message Date
226a53bf61
Add Redis-based distributed caching and rate limiting
This commit introduces a dual-mode caching and rate limiting system that can use
either Redis (for distributed deployments) or ETS/Cachex (for single-node setups).

Key changes:
- Add Cache abstraction layer that automatically switches between Redis and Cachex
- Implement RedisCache module with full distributed cache functionality
- Implement RedisRateLimiter with sliding window algorithm for accurate rate limiting
- Add RateLimiterWrapper to provide unified API for both implementations
- Update application startup to conditionally use Redis when REDIS_URL is set
- Migrate all cache operations to use the new Cache abstraction
- Support graceful fallback to ETS-based solutions when Redis is unavailable

The system automatically detects Redis availability via REDIS_URL environment
variable and switches between implementations without code changes. This enables
proper distributed caching and rate limiting in Kubernetes deployments while
maintaining backward compatibility for development environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 15:29:38 -05:00
3730b8c848
performance improvements 2025-07-14 16:35:58 -05:00
766a1301e0
fix stations that heard call 2025-07-13 18:55:51 -05:00
610a5b8949
refactor 2025-07-13 16:49:20 -05:00
4348d34f62
fix weather 2025-07-12 10:53:11 -05:00
d88adf4293
reduce caching 2025-07-11 14:42:01 -05:00
48447ab42e
refactor and performance improvements 2025-07-10 10:53:34 -05:00
711d92ebb6
performance improvements 2025-07-08 10:03:52 -05:00