0.8.0 • Published 7 years ago

deja-qu v0.8.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

Déjà qu

npm version Build Status codecov codebeat badge Dependencies

Déjà qu is Redis-backed FIFO message queue for storing any kind of ephemeral data. It allows you to easily build ephemeral timelines/stories. Messages are automatically removed from the queue once they're expired, without the need for polling, cron jobs, or timers.

Installation

If using yarn:

yarn add deja-qu

or npm:

npm install deja-qu --save

Run Redis server:

redis-server

Check out Redis quickstart to install.

Usage

Step 1: Initialize and start Déjà qu

Require Déjà qu:

const DejaQu = require('deja-qu').DejaQu;

Initialize Déjà qu, connecting to a local Redis server running on the default port:

const dq = new DejaQu();

Optionally pass in a Redis configuration to connect to a remote server.

const dq = new DejaQu(REDIS_CLOUD_URL);

Start Déjà qu, ideally right after the server starts.

dq.start();

Step 2: Profit

Get a queue

const q = dq.getQueue('timeline', user1);

Create and add a message that expires in 24 hours

const Message = require('deja-qu').Message;

const msg = new Message('Have I seen this before?', 86400);

q.push(msg);

Get the first 5 messages

const messages = await q.get(0, 4);

Delete the oldest message

const message = await q.pop();

Delete specific message

await q.delete(messages[3]);

Debugging

Add DEBUG=deja-qu to the node start script in package.json to see debug output. i.e:

DEBUG=deja-qu node server.js

Tests

yarn install # or npm install
npm test

Author

Shane Vitarana :: http://shanev.me :: @shanev

0.8.0

7 years ago

0.7.0

7 years ago

0.6.0

7 years ago

0.5.1

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago