Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Swift-like Cache Implementation Changes
Enhanced InMemoryFeatureCache with Swift CachingManager pattern:
• Added SetCacheKey(string key) - Creates SHA256 hash-based cache directories (first 5
characters)
• Added SetCustomCachePath(string path) - Allows custom cache directory configuration• Added
ClearCache() - Clears both file system and in-memory cached data
• Implemented file-based persistence - Features stored as JSON files with automatic directory
creation
• Added thread-safe file operations - All cache operations protected with locks
Context simplified:
• Added CachePath property for cache directory configuration
• Removed complex cache configuration options
Integration updated:
• GrowthBook now configures cache key from ClientKey and custom path from Context.CachePath
• Maintains backward compatibility while adding persistent caching
Result: Single-file modification transforming in-memory cache to Swift-like persistent cache
without additional complexity.