entity_simple_cache 1.0.0 entity_simple_cache: ^1.0.0 copied to clipboard
A simple in memory cache for small/medium size systems
Entity Simple Cache #
Small and simple library for caching typed objects and values. It gives few strategies to control expiration of entries in cache. This lib doesn't use any kind soft/weak linking to track objects. It's more like a Map with extra wrapper to control when and how to dispose values from it.
Features #
- Read, update, delete and invalidate cache.
- Allows to configure expiration time of entry
- Allows to limit maximum number of entries in cache
- Provides built-in mechanism to periodically remove expired entries
- Provides built-in mechanism to remove expired entries by chosen count of read operations
Getting started #
Here is simple listing of cache usage. For more examples and ideas how to use it please refer to test folder.
import 'package:entity_simple_cache/src/cache.dart';
void main() {
final cache = Cache<String, String>(maxLength: 3); //constrain cache to 3 elements
cache.write("A", "This is A"); //add to cache
cache["B"] = "This is B"; //add to cache
print(cache.length); //get approximate size
cache["C"] = "This is C"; //add to cache
cache["D"] = "This is D"; //add to cache
print(cache); //dump cache info
print("cache for key A is: ${cache.read("A")}"); //read from cache
print("cache for key B is: ${cache["B"]}"); //read from cache
print("cache for key C is: ${cache["C"]}"); //read from cache
print("cache for key D is: ${cache["D"]}"); //read from cache
}