stash_memory 3.0.0 stash_memory: ^3.0.0 copied to clipboard
Memory storage extension for the stash caching API. Provides support to store caches in-memory
stash_memory #
A stash in-memory storage extension for
Overview #
This storage extension for stash provides in-memory based storage.
Getting Started #
Add this to your pubspec.yaml
(or create it) replacing x.x.x with the latest version of stash_memory:
dependencies:
stash_memory: ^x.x.x
Run the following command to install dependencies:
dart pub get
Finally, to start developing import the library:
import 'package:stash_memory/stash_memory.dart';
Usage #
The example bellow creates a cache with a in-memory storage backend that supports a maximum of 10 Task
objects.
import 'package:stash/stash_api.dart';
import 'package:stash_memory/stash_memory.dart';
class Task {
final int id;
final String title;
final bool completed;
Task(this.id, this.title, {this.completed = false});
@override
String toString() {
return 'Task $id: "$title" is ${completed ? "completed" : "not completed"}';
}
}
void main() async {
// Creates a memory based cache with a a capacity of 10
final cache = newMemoryCache(
maxEntries: 10, eventListenerMode: EventListenerMode.Sync)
..on<CreatedEntryEvent>().listen(
(event) => print('Entry key "${event.entry.key}" added to the cache'));
// Adds a task with key 'task1' to the cache
await cache.put(
'task1', Task(1, 'Run stash_memory example', completed: true));
// Retrieves the value from the cache
final value = await cache.get('task1');
print(value);
}
Features and Bugs #
Please file feature requests and bugs at the issue tracker.
License #
This project is licensed under the MIT License - see the LICENSE file for details