BitFaster.Caching 2.1.0

⚡ BitFaster.Caching

High performance, thread-safe in-memory caching primitives for .NET.

ConcurrentLru

ConcurrentLru is a light weight drop in replacement for ConcurrentDictionary, but with bounded size enforced by the TU-Q eviction policy (similar to 2Q). There are no background threads, no global locks, concurrent throughput is high, lookups are fast and hit rate outperforms a pure LRU in all tested scenarios.

Choose a capacity and use just like ConcurrentDictionary, but with bounded size:

int capacity = 666;
var lru = new ConcurrentLru<string, SomeItem>(capacity);

var value = lru.GetOrAdd("key", (key) => new SomeItem(key));

ConcurrentLfu

ConcurrentLfu is a drop in replacement for ConcurrentDictionary, but with bounded size enforced by the W-TinyLFU eviction policy. ConcurrentLfu has near optimal hit rate. Reads and writes are buffered then replayed asynchronously to mitigate lock contention.

Choose a capacity and use just like ConcurrentDictionary, but with bounded size:

int capacity = 666;
var lfu = new ConcurrentLfu<string, SomeItem>(capacity);

var value = lfu.GetOrAdd("key", (key) => new SomeItem(key));

Documentation

Please refer to the wiki for full API documentation, and a complete analysis of hit rate, latency and throughput.

Showing the top 20 packages that depend on BitFaster.Caching.

Packages Downloads
OPCFoundation.NetStandard.Opc.Ua.Client
OPC UA Client Class Library
2

.NET Core 3.1

  • No dependencies.

.NET 6.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
2.5.4 1 2025/11/19
2.5.3 1 2025/11/19
2.5.2 1 2025/11/19
2.5.1 1 2025/11/19
2.5.0 1 2025/11/19
2.4.1 1 2025/11/19
2.4.0 1 2025/11/19
2.3.3 1 2025/11/19
2.3.2 1 2025/11/19
2.3.1 1 2025/11/19
2.3.0 1 2025/11/19
2.2.1 1 2025/11/19
2.2.0 1 2025/11/19
2.1.3 1 2025/11/19
2.1.2 1 2025/11/19
2.1.1 1 2025/11/19
2.1.0 1 2025/11/19
2.0.0 1 2025/11/19
1.1.0 1 2025/11/19
1.0.7 1 2025/11/19
1.0.6 1 2025/11/19
1.0.5 1 2025/11/19
1.0.4 1 2025/11/19
1.0.3 1 2025/11/19
1.0.2 1 2025/11/19
1.0.1 1 2025/11/19
1.0.0 1 2025/11/19
0.9.4 1 2025/11/19
0.9.3 1 2025/11/19
0.9.2 1 2025/11/19
0.9.1 1 2025/11/19