Skip to content

Repository files navigation

ttl_cache

Powered by MasonLicense: MIT

A simple Dart key-value store with optional entry expiration.

Usage

A simple usage example:

import'package:ttl_cache/ttl_cache.dart';
voidmain() {
final cache =TtlCache<String, int>(defaultTtl:Duration(seconds:1));
// Set 'a' and 'b' with a default TTL of 1 second.// These lines are equivalent.
cache['a'] =1;
cache.set('b', 2);
// Set 'c' with a TTL of 3 seconds.
cache.set('c', 3, ttl:Duration(seconds:3));
// Set 'd' with no TTL. This entry will remain in the cache until it is// manually removed.
cache.set('d', 4, ttl:null);
print(cache['a']); // 1print(cache['b']); // 2print(cache['c']); // 3print(cache['d']); // 4// Entries with the default TTL will have expired. 'c' has a TTL of 3 seconds// and will still be available.Future.delayed(Duration(seconds:2), () {
print(cache['a']); // nullprint(cache['b']); // nullprint(cache['c']); // 3print(cache['d']); // 4
});
// All entries from above with TTLs will have expired. 'd' has no TTL and will// still be available.Future.delayed(Duration(seconds:4), () {
// 'a' and 'b' will still be nullprint(cache['c']); // nullprint(cache['d']); // 4
});
}

About

A simple key-value store with entry expiration

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages