Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
neon-sunset authored Sep 10, 2022
1 parent 49c1f3c commit 15b0ac0
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ Optimized to scale from dozens to millions of items. Features lock-free reads an
Credit to Vladimir Sadov for his implementation of `NonBlocking.ConcurrentDictionary` which is used as an underlying store.

### When to use FastCache.Cached over M.E.C.M.MemoryCache
- When cache is used for expirable items only or does not need complex behavior (eviction delegates, multiple expiration modes, etc.), 90% use cases fall into this category
- When cache is used for expirable items only or does not need complex behavior (eviction delegates, multiple expiration modes, etc.), ~80% use cases fall into this category
- When there are strict memory limits (381MB for 10 million items vs 2136MB for MemoryCache)
- When you need pseudo-memoization: `cached.Save(value, TimeSpan.MaxValue)`
- When deployed to highly-parallel systems (much better multi-core scaling vs all alternatives thanks to lock-free reads/writes)
- When you need convenient limit API: `cached.Save(value, TimeSpan.FromSeconds(180), limit: 50_000)` (auto trim logic included)
- When you need the fastest solution - read/write paths are hand tuned to be as short as possible, no interface calls, all static dispatch
- When you need the fastest solution - read/write paths are hand tuned to be as short as possible, no interface calls, all static dispatch, etc.

## Quick start
### Install
Expand Down

0 comments on commit 15b0ac0

Please sign in to comment.