Skip to content

🗺️ Roadmap

This document outlines the planned evolution of CoreSystem.Cache.

The roadmap is intended to provide visibility into the long-term direction of the project. Features may evolve based on community feedback and real-world adoption.


Guiding Principles

The framework will continue to evolve following these principles:

  • Production-first
  • Cloud-native
  • Provider-independent
  • Extensible architecture
  • OpenTelemetry-first
  • Backward compatibility whenever possible

✅ Completed

The following capabilities are already available.

Core Infrastructure

  • [x] Memory cache provider
  • [x] Redis cache provider
  • [x] Provider abstraction
  • [x] Dependency Injection integration

Cache Pipeline

  • [x] Composable execution pipeline
  • [x] Logging behavior
  • [x] Metrics behavior
  • [x] Resilience behavior
  • [x] Fallback behavior

Caching Features

  • [x] Cache Aside pattern (GetOrAddAsync)
  • [x] Tag-based invalidation
  • [x] Distributed locking
  • [x] Automatic cache rehydration
  • [x] HTTP response caching

Serialization

  • [x] JSON
  • [x] MessagePack
  • [x] Protocol Buffers

Observability

  • [x] OpenTelemetry Metrics
  • [x] Health Checks

🚧 Short-Term

The next releases will focus on improving flexibility and performance.

Pipeline

  • [ ] Configurable pipeline ordering
  • [ ] Conditional behaviors
  • [ ] Custom behavior registration

Performance

  • [ ] Compression behavior
  • [ ] Benchmark suite
  • [ ] Additional performance metrics

Developer Experience

  • [ ] More samples
  • [ ] Extended documentation
  • [ ] Analyzer package
  • [ ] Source Link support

🚀 Mid-Term

The following features will expand the framework beyond Redis.

Storage Providers

  • [ ] SQL Server
  • [ ] PostgreSQL
  • [ ] Cosmos DB

Cache Strategies

  • [ ] Sliding expiration
  • [ ] Cache warming
  • [ ] Background preloading
  • [ ] Hybrid cache strategies

Distributed Features

  • [ ] Distributed invalidation events
  • [ ] Cache synchronization

🔮 Long-Term Vision

Future versions aim to transform the framework into a complete caching platform.

Multi-Level Cache

  • [ ] L1 Memory
  • [ ] L2 Redis
  • [ ] Transparent synchronization

Provider SDK

  • [ ] Public provider SDK
  • [ ] Storage provider templates
  • [ ] Community provider support

Advanced Features

  • [ ] Adaptive expiration
  • [ ] Cache analytics
  • [ ] Native AOT optimizations
  • [ ] Source Generator support

💡 Future Pipeline Behaviors

The pipeline architecture makes it possible to introduce additional behaviors without modifying existing code.

Possible future behaviors include:

  • [ ] CompressionBehavior
  • [ ] EncryptionBehavior
  • [ ] TracingBehavior
  • [ ] AuditBehavior
  • [ ] ValidationBehavior
  • [ ] RateLimitingBehavior
  • [ ] CacheWarmupBehavior
  • [ ] CacheReplicationBehavior

Community Ideas

Ideas proposed by the community may be incorporated into future releases.

Suggestions are welcome through:

  • GitHub Issues
  • GitHub Discussions
  • Pull Requests

Release Strategy

The project follows Semantic Versioning.

Version Focus
1.x Stability, bug fixes, documentation
2.x New providers and extensibility
3.x Advanced caching strategies
4.x Ecosystem integration

Contributing

If you'd like to contribute to any roadmap item, feel free to open an issue or submit a Pull Request.

Community contributions are always welcome.