Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Igor Savin committed Nov 5, 2023
1 parent 3231d24 commit 79447fa
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
![](https://github.com/kibertoad/layered-loader/workflows/ci/badge.svg)
[![Coverage Status](https://coveralls.io/repos/kibertoad/layered-loader/badge.svg?branch=main)](https://coveralls.io/r/kibertoad/layered-loader?branch=main)

Data source agnostic data loader with support for in-memory and async caching, fetch deduplication and fallback data sources.
Data source agnostic data loader with support for tiered in-memory and async caching, fetch deduplication and fallback data sources. Implements Cache-Aside, Read-Through and Refresh-Ahead patterns.

Special thanks to Diana Baužytė for creating the project logo!

Expand All @@ -33,22 +33,22 @@ This library has four main goals:

Since there are a few cache solutions, here is a table comparing them:

| Feature | [layered-loader](https://github.com/kibertoad/layered-loader) | [async-cache-dedupe](https://github.com/mcollina/async-cache-dedupe) | [dataloader](https://github.com/graphql/dataloader) | [cache-manager](https://github.com/node-cache-manager/node-cache-manager) |
|:-----------------------------------------|:-------------------------------------------------------------:|:--------------------------------------------------------------------:|:---------------------------------------------------:|:-------------------------------------------------------------------------:|
| Single Entity Fetch |||||
| Bulk Entity Fetch || |||
| Single Entity Fetch Deduplication |||| |
| Bulk Entity Fetch Deduplication | | || |
| Preemptive Cache Refresh || | | |
| Tiered Caches || | ||
| Group Support || partially, references for invalidation | | |
| Redis Support ||| ||
| Redis Key Auto-Prefixing || | | |
| Synchronous In-Memory Cache Access || | | |
| Distributed In-Memory Cache Invalidation || | | |
| Hit/Miss/Expiration Tracking || partially, hooks available | | |
| Support For Custom Cache Stores || | ||
| Optimized for | Broad‑Scope Use | Single Entity Fetch Deduplication | Bulk Entity Fetch Deduplication | Manual Caching |
| Feature | [layered-loader](https://github.com/kibertoad/layered-loader) | [async-cache-dedupe](https://github.com/mcollina/async-cache-dedupe) | [dataloader](https://github.com/graphql/dataloader) | [cache-manager](https://github.com/node-cache-manager/node-cache-manager) |
|:-------------------------------------------------|:-------------------------------------------------------------:|:--------------------------------------------------------------------:|:---------------------------------------------------:|:-------------------------------------------------------------------------:|
| Single Entity Fetch |||||
| Bulk Entity Fetch || |||
| Single Entity Fetch Deduplication (Read-Through) |||| |
| Bulk Entity Fetch Deduplication | | || |
| Preemptive Cache Refresh (Refresh-Ahead) || | | |
| Tiered Caches || | ||
| Group Support || partially, references for invalidation | | |
| Redis Support ||| ||
| Redis Key Auto-Prefixing || | | |
| Synchronous In-Memory Cache Access || | | |
| Distributed In-Memory Cache Invalidation || | | |
| Hit/Miss/Expiration Tracking || partially, hooks available | | |
| Support For Custom Cache Stores || | ||
| Optimized for | Broad‑Scope Use | Single Entity Fetch Deduplication | Bulk Entity Fetch Deduplication | Manual Caching |

## Performance Comparison

Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@
"redis",
"memory",
"fifo",
"lru"
"lru",
"read-through",
"refresh-ahead"
],
"homepage": "https://github.com/kibertoad/layered-loader",
"dependencies": {
Expand Down

0 comments on commit 79447fa

Please sign in to comment.