-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Description
Implement a comprehensive cache versioning system that allows developers to version their cached function outputs and automatically handle cache migrations when function logic or return schemas change.
Technical Details:
- Add a
cache_versionparameter to the@cachierdecorator - Store version metadata alongside cached values in all backend cores
- Implement automatic cache invalidation when version changes
- Create a migration framework allowing custom migration functions between versions
- Support semantic versioning (e.g.,
version="1.2.3") - Add
migrate_cache(old_version, new_version, migration_func)API - Include backward compatibility mode to read old versions temporarily
- Implement version compatibility checking and warnings
Use Cases:
- Function logic changes requiring cache rebuild
- Data schema evolution over time
- Team collaboration with different code versions
- Production deployments with zero-downtime migrations
Complexity Factors:
- Requires changes to all backend cores (Pickle, MongoDB, Redis, SQL, Memory)
- Schema migration logic for different backends
- Thread-safe migration process
- Rollback mechanisms for failed migrations
Borda
Metadata
Metadata
Assignees
Labels
No labels