Releases: bezzad/HybridRedisCache
Releases · bezzad/HybridRedisCache
Release list
v6.0.0
Highlights
Breaking
- Upgraded to StackExchange.Redis 3.x. Consumers must also move to 3.x.
HybridCachingOptions.ThreadPoolSocketManagerEnableis obsolete and ignored: StackExchange.Redis 3.x removed SocketManager and always schedules socket work itself.- Async APIs gained a trailing optional
CancellationTokenparameter (source compatible, binary breaking).
Fixed
SetAll/SetAllAsyncwrote the whole dictionary into the local cache under every key instead of that key's own value. WithRedisCacheEnable=falsethis lost the data outright; otherwise it bloated memory and made every local read miss.- Startup no longer fails when the server rejects
CONFIG SET notify-keyspace-events(Azure Cache for Redis, AWS ElastiCache and other managed/compatible servers). The error is logged and startup continues. - Reconnect no longer spins the CPU in a tight loop while Redis is unreachable.
RemoveWithPatternAsynclogged a removed-key count that was always 0.ExistsAsync's interface default flag (None) disagreed with the implementation (PreferMaster).
CI / tooling
- New one-shot release routine (
scripts/release.sh) and tag-triggered release workflow publishing to nuget.org via Trusted Publishing (OIDC, no stored API key). - Test coverage is now uploaded to Codecov.
Full Changelog: v5.2.0...v6.0.0
version 5.2.0
- fix: retrieve cached value only from dataRetriever and set it in the local cache, excluding Redis
- refactor: improved code structure and readability
version 5.1.0
- feat: add multiple overloads for ScriptEvaluateAsync to enhance Lua script execution flexibility
- Note: All 5.x.x versions does not used string serialization; all values are converted to bytes and read as binary.
version 5.0.2
- Introduced a serializer interface to allow custom binary serializers.
- Added MessagePack serializer option.
- Added MemoryPack serializer option.
- Added BSON option as the default serializer.
- Added JsonSerializerSettings to configure Newtonsoft.Json serialization.
- Fixed various bugs and issues.
- Note: This version does not use string serialization; all values are converted to bytes and read as binary.
version 5.0.1
- Introduced a serializer interface to allow custom binary serializers.
- Added MessagePack serializer option.
- Added MemoryPack serializer option.
- Added BSON option as the default serializer.
- Fixed various bugs and issues.
Note: This version does not use string serialization; all values are converted to bytes and read as binary.
version 4.0.0
- Add support for flags in the
PublishandPublishAsyncmethods, withFireAndForgetas the default value. - Add important Hash functions:
HashSet,HashGet,HashGetAll,HashDelete,HashExists,HashIncrement, andHashDecrement. - Updated the
KeysAsyncmethod to return pure key names instead of full keys with the instance prefix. - Replaced the
Redis ExpireWhenenum with a newExpireConditionenum for better encapsulation. - Corrected the
KeyExpireandKeyExpireAsyncmethods to use the appropriateExpireConditionenum. - Exposed the
IDatabase RedisDbproperty for direct access by end users. - Resolved various bugs and issues.
version 3.9.0
- Fetch data safety from dataRetriever task in GetAsync method
- Fix LockKeyAsync method to wait on lock and release all tasks after releasing
- Test some functionalities
- Fix some bugs
version 3.8.0
- Fetch data safety from dataRetriever task in GetAsync method
- Add KeyExpiry method to set expiration to any keys
- Add log for heavy values
- Add options.DataSizeHistogramMetricName histogram metric for all set key/values
- Fix convert key in ValueIncrementAsync and ValueDecrementAsync methods
- Test some functionalities
- Fix some bugs
version 3.5.0
- Add Publish method to send signal on RedisBus on current sync context
version 3.4.0
- Removed redlock key prefix
- Fixed some issues