Skip to content
This repository has been archived by the owner on Jul 24, 2022. It is now read-only.

nachonerd/memqueue

Repository files navigation

MemQueue

Build Status Code Climate Test Coverage Issue Count Dependencies Checker Doc Checker Join the chat at https://gitter.im/nachonerd/memqueue

NPM

Description

This NodeJs library is an implementation of queue with memcached.

Installation

npm install memqueue

Usage

var MemQueue = require('memqueue');

console.info("Creating Queue...");
try {
    // create a new queue
    var queue = new MemQueue("myqueue", 'localhost:11213');
} catch (e) {
    console.error("Creation Fail: "+e.message);
}

var element = "element"+Math.floor((Math.random()*10000));

console.info("Pushing first element: "+element);
// push an element into the queue.
queue.push(element, 10, function (err) {
    if (err) {
        console.error("Push Fail: "+err);
    }
    console.info("Retrieveing last element");
    // retrieve the previously pushed object .
    queue.pop(function (err, data) {
        if (err) {
            console.error("Pop Fail: "+err);
        }
        console.info("The last element was: "+data);
        // end memcached connection.
        queue.end();
    });
});

Methods

Kind: global class
Api: public

new MemQueue(key, locations, options)

Constructor

Param Type Description
key Mixed Key String or Number
locations Mixed Array, string or object with servers
options Object Options

push(value, lifetime, callback) ⇒ void

Push

Stores a new value in Memqueue. Emits: push
Api: public

Param Type Description
value Mixed Either a buffer, JSON, number or string that you want to store.
lifetime Number how long the data needs to be stored measured in seconds
callback function the callback

pop(callback) ⇒ void

Pop

Retrieve Last value from memqueue. Emits: pop, empty Api: public

Param Type Description
callback function the callback

end() ⇒ void

End

Finish memcached connection.

Api: public

For more information see Documentation

License

The driver is released under the GPL-3.0 license. See the LICENSE for more information.