Skip to content

v0.9.0

Compare
Choose a tag to compare
@jodydonetti jodydonetti released this 17 Feb 16:47
· 344 commits to main since this release
9d38937

📢 Backplane (more)

FusionCache now has a fully functioning backplane, to ease synchronization between nodes in a multi-node scenario.

It's very easy to setup and requires no additional work: it just works.

There are currently 2 implementations: one memory-only (mainly for testing) and one for Redis.

The backplane, like the 2nd level cache, is fully featured including events and logging and, since it talks to a separate system (eg: a Redis or Memcached instance), it natively support a simple circuit-breaker to better handle transient errors, again like the 2nd level cache.

📕 Better docs

Since the v0.9.0 is a big release with a great new feature, I took the chance and tried to improve the docs.

Of course there's the new part about the backplane and how to use it in various situations (both with and without the distributed cache).

I also collected all the IDistributedCache implementations available on Nuget, which is something I hope can be useful to the community as they can serve as the secondary cache layer.

Finally some typos have been corrected and a lot of small parts in general have been added where I felt they were missing.

📜 Logging (fail-safe activation)

Thanks to a tip by the community (see here #38), I changed a log level used when no fallback entry was available for a fail-safe activation, since it seemed more correct this way.

⚠ Removed CacheKeyPrefix option

The FusionCacheOptions.CacheKeyPrefix option is now fully obsolete: it has been marked with the [Obsolete] attribute including the additional error flag, and is hidden via the [EditorBrowsable] attribute so its use will not compile anymore (see #33 for more).

⚠ Removed Evict method

The Evict method was just something theoretically used to create the backplane, nothing to be used in the normal FusionCache usage.
Since in the end the final backplane design did not need this method, it has been removed to keep a more streamlined API.