1.0.0 • Published 7 years ago

rate-limit-keyv v1.0.0

Weekly downloads
1
License
Apache-2.0
Repository
-
Last release
7 years ago

Rate Limit Keyv

Back-end Support

  • Redis
  • MongoDB
  • SQLite
  • PostgreSQL
  • MySQL
  • Third-party storage adapters (see Keyv docs)

Usage

In Memory

const RateLimit = require('express-rate-limit');
const Keyv = require('keyv');
const KeyvStore = require('rate-limit-keyv');
const express = require('express');
const app = express();

const limiter = new RateLimit({
  store: new KeyvStore(new Keyv({ namespace: 'rate-limit' }))
});

app.use(limiter);

Redis

const RateLimit = require('express-rate-limit');
const Keyv = require('keyv');
const KeyvStore = require('rate-limit-keyv');
const express = require('express');
const app = express();

const limiter = new RateLimit({
  store: new KeyvStore(new Keyv('redis://user:pass@localhost:6379', { namespace: 'rate-limit' }))
});

app.use(limiter);

MongoDB

const RateLimit = require('express-rate-limit');
const Keyv = require('keyv');
const KeyvStore = require('rate-limit-keyv');
const express = require('express');
const app = express();

const limiter = new RateLimit({
  store: new KeyvStore(new Keyv('mongodb://user:pass@localhost:27017/dbname', { namespace: 'rate-limit' }))
});

app.use(limiter);

SQLite

const RateLimit = require('express-rate-limit');
const Keyv = require('keyv');
const KeyvStore = require('rate-limit-keyv');
const express = require('express');
const app = express();

const limiter = new RateLimit({
  store: new KeyvStore(new Keyv('sqlite://path/to/dbname.sqlite', { namespace: 'rate-limit' }))
});

app.use(limiter);

PostgreSQL

const RateLimit = require('express-rate-limit');
const Keyv = require('keyv');
const KeyvStore = require('rate-limit-keyv');
const express = require('express');
const app = express();

const limiter = new RateLimit({
  store: new KeyvStore(new Keyv('postgresql://user:pass@localhost:5432/dbname', { namespace: 'rate-limit' }))
});

app.use(limiter);

MySQL

const RateLimit = require('express-rate-limit');
const Keyv = require('keyv');
const KeyvStore = require('rate-limit-keyv');
const express = require('express');
const app = express();

const limiter = new RateLimit({
  store: new KeyvStore(new Keyv('mysql://user:pass@localhost:3306/dbname', { namespace: 'rate-limit' }))
});

app.use(limiter);
1.0.0

7 years ago