Ghost/ghost/adapter-cache-memory-ttl
Naz 95530a6617
Added optional in-memory TTL cache
refs https://github.com/TryGhost/Toolbox/issues/515

- We don't have a good way to test TTL caches without setting up Redis in the environment
- Adding in-memory cache adapter with TTL allows to run tests on CI without having to install Redis
- Also, TTL in memory cache can be a great substitution for Redis-based caches on instances that
have a lot of spare RAM and don't need to use Redis necessarily
- MemoryTTL cache accepts two parameters "TTL" and "max"
- TTL - is time in milliseconds to hold the value for in cache
- max - is the maximum amount of items to keep in the cache

- To use MemoryTTL cache specify following config in the cache section:
```
    "adapters": {
        "cache": {
            "imageSizes": {
                "adapter": "MemoryTTL",
                "ttl": 3600
            }
        }
    }
```
- Above config would apply MemoryTTL cache to imageSizes feature with TTL fo 3600 ms
2023-02-20 15:16:33 +08:00
..
lib Added optional in-memory TTL cache 2023-02-20 15:16:33 +08:00
test Added optional in-memory TTL cache 2023-02-20 15:16:33 +08:00
.eslintrc.js Added optional in-memory TTL cache 2023-02-20 15:16:33 +08:00
index.js Added optional in-memory TTL cache 2023-02-20 15:16:33 +08:00
package.json Added optional in-memory TTL cache 2023-02-20 15:16:33 +08:00
README.md Added optional in-memory TTL cache 2023-02-20 15:16:33 +08:00

Adapter Cache Memory Ttl

Cache adapter with in-memory storage with TTL functionality

Usage

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests