# SuperCache v1.4.0 - Table of Contents

An in-memory caching library using tuples as the core data type, with support for structs, key/value pairs, queues, and stacks. Includes experimental distributed caching.

## Pages

- [Developer](developer.md)
- [Distributed](distributed.md)
- [Usage](usage.md)
- [Readme](readme.md)

## Modules

- [ExampleStructs.Order](ExampleStructs.Order.md): Example Order struct for SuperCache demonstrations.

- [ExampleStructs.Product](ExampleStructs.Product.md): Example Product struct for SuperCache demonstrations.

- [ExampleStructs.User](ExampleStructs.User.md): Example User struct for SuperCache demonstrations.

- [SuperCache](SuperCache.md): High-throughput, in-memory cache backed by ETS.
- [SuperCache.Application](SuperCache.Application.md): OTP Application callback module for SuperCache.
- [SuperCache.Bootstrap](SuperCache.Bootstrap.md): Unified startup and shutdown for SuperCache.
- [SuperCache.Buffer](SuperCache.Buffer.md): Manages per-scheduler write buffers used by `SuperCache.lazy_put/1`.
- [SuperCache.Cluster.Bootstrap](SuperCache.Cluster.Bootstrap.md): Cluster-aware startup and shutdown for SuperCache.
- [SuperCache.Cluster.DistributedHelpers](SuperCache.Cluster.DistributedHelpers.md): Shared helpers for distributed read/write operations.
- [SuperCache.Cluster.DistributedStore](SuperCache.Cluster.DistributedStore.md): Shared routing helpers used by all distributed high-level stores
(KeyValue, Queue, Stack, Struct).
- [SuperCache.Cluster.HealthMonitor](SuperCache.Cluster.HealthMonitor.md): Distributed cluster health monitor for SuperCache.
- [SuperCache.Cluster.Manager](SuperCache.Cluster.Manager.md): Maintains the cluster membership list and the partition → primary/replica
mapping.
- [SuperCache.Cluster.Metrics](SuperCache.Cluster.Metrics.md): Low-overhead counter and latency-sample store for SuperCache observability.
- [SuperCache.Cluster.NodeMonitor](SuperCache.Cluster.NodeMonitor.md): Monitors a declared set of nodes and notifies `SuperCache.Cluster.Manager`
when they join or leave, so partition maps are updated.
- [SuperCache.Cluster.Replicator](SuperCache.Cluster.Replicator.md): Applies replicated writes on the local node and handles bulk partition
transfers when a new node joins or a full sync is requested.
- [SuperCache.Cluster.Router](SuperCache.Cluster.Router.md): Routes SuperCache operations to the correct primary node and applies
replication after each write.
- [SuperCache.Cluster.Stats](SuperCache.Cluster.Stats.md): Observability utilities for a running SuperCache cluster.
- [SuperCache.Cluster.ThreePhaseCommit](SuperCache.Cluster.ThreePhaseCommit.md): Three-phase commit (3PC) coordinator.
- [SuperCache.Cluster.TxnRegistry](SuperCache.Cluster.TxnRegistry.md): In-memory transaction log for the three-phase commit protocol.
- [SuperCache.Cluster.WAL](SuperCache.Cluster.WAL.md): Write-Ahead Log for fast strong consistency.
- [SuperCache.Distributed](SuperCache.Distributed.md): Backwards-compatibility shim for `SuperCache`.
- [SuperCache.Distributed.KeyValue](SuperCache.Distributed.KeyValue.md): Compatibility shim → use `SuperCache.KeyValue` directly.
- [SuperCache.Distributed.Queue](SuperCache.Distributed.Queue.md): Compatibility shim → use `SuperCache.Queue` directly.
- [SuperCache.Distributed.Stack](SuperCache.Distributed.Stack.md): Compatibility shim → use `SuperCache.Stack` directly.
- [SuperCache.Distributed.Struct](SuperCache.Distributed.Struct.md): Compatibility shim → use `SuperCache.Struct` directly.
- [SuperCache.EtsHolder](SuperCache.EtsHolder.md): GenServer owner for ETS tables managed by SuperCache.
- [SuperCache.Internal.Queue](SuperCache.Internal.Queue.md): Internal concurrent queue used by SuperCache buffer streams.
- [SuperCache.Internal.Stream](SuperCache.Internal.Stream.md): Internal stream processor for SuperCache buffer queues.
- [SuperCache.KeyValue](SuperCache.KeyValue.md): In-memory key-value namespaces backed by SuperCache ETS partitions.
- [SuperCache.Log](SuperCache.Log.md): Conditional logging for SuperCache.
- [SuperCache.Partition](SuperCache.Partition.md): Partition resolution and management for SuperCache.
- [SuperCache.Partition.Holder](SuperCache.Partition.Holder.md): Registry for partition ETS table names.
- [SuperCache.Queue](SuperCache.Queue.md): Named FIFO queues backed by SuperCache ETS partitions.
- [SuperCache.Stack](SuperCache.Stack.md): Named LIFO stacks backed by SuperCache ETS partitions.
- [SuperCache.Storage](SuperCache.Storage.md): Thin wrapper around `:ets` that provides the read/write/delete primitives
used throughout SuperCache.
- [SuperCache.Storage.MatchSpec](SuperCache.Storage.MatchSpec.md): Compiled match specifications for ETS queries.
- [SuperCache.Struct](SuperCache.Struct.md): In-memory struct store backed by SuperCache ETS partitions.
- [SuperCache.Sup](SuperCache.Sup.md): Dynamic supervisor for user-spawned workers in SuperCache.

- Exceptions
  - [SuperCache.Config](SuperCache.Config.md): Central configuration store for SuperCache.

## Mix Tasks

- [mix benchmark_ets](Mix.Tasks.BenchmarkEts.md): Run ETS query benchmarks comparing match vs select with compiled specs.

