lru-send

LRU-based caching middleware for Node.js


Keywords
http, tinyhttp, response-caching, cache, perf, lru, performance, caching, memo, memoization, nodejs
License
MIT
Install
npm install lru-send@0.1.3

Documentation

lru-send

npm GitHub Workflow Status Coverage

LRU-based caching middleware for Node.js that patches res.send.

Features

  • 😲 ~336x faster for heavy operations
  • ESM-only
  • types out of the box
  • 🟥 (optionally) supports Redis

Install

pnpm i lru-send

Examples

In-memory

import { lruSend } from 'lru-send'
import { App } from '@tinyhttp/app'

const app = new App()

app.use(lruSend())

app.use('/', (_req, res) => {
  someUltraHeavyOp()
  res.send('hello')
})

app.listen(3000)

Redis

import { lruSend } from 'lru-send/redis'
import { App } from '@tinyhttp/app'
import Redis from 'ioredis'

const redis = new Redis()

const app = new App()

app.use(lruSend(redis))

app.use('/', (_req, res) => {
  someUltraHeavyOp()
  res.send('hello')
})

app.listen(3000)