A stash in-memory storage extension for

Pub Package Coverage Status Package Documentation GitHub License


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:

    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';


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.title, {this.completed = false});

  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)
        (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');


Features and Bugs

Please file feature requests and bugs at the issue tracker.


This project is licensed under the MIT License - see the LICENSE file for details


Provides a in-memory implementation of the Stash caching API for Dart