package aches

  1. Overview
  2. Docs

Aches: a variety of caches

Aches is a library that provides caches (limited-size collections with automatic discarding of supernumerary elements) for a variety of uses.

Aches (more nerdily named *ache where the * stands for globbing) provides the following modules:

Vache: Value cache. That is caches for in-memory values. These caches come in different kinds: maps (key-value caches) and sets (value-only caches), and with different policies: FIFO/LRU, Precise/Sloppy size accounting, Strong/Weak GC handling.

Rache: Resource cache. That is caches for resources (file descriptors, network connections, etc.) which need some clean-up beyond simple garbage collection. These caches maintain a strict ownership discipline which you must also follow: resources are either owned by you or by the cache, the owner is responsible for the clean-up.

module Vache = Vache

Value caches

module Rache = Rache

Resource caches