Nero Punished Miscreants

    memcached-elasticache

    1.1.1 • Public • Published

    memcached-elasticache

    Drop-in replacement for memcached module (a fully featured Memcached client for Node.js) that adds support for auto-discovery of nodes in an AWS ElastiCache cluster running the Memcached engine. Works with all AWS supported cache engine versions.

    Installation

    npm install memcached-elasticache

    Setting up the client

    The constructor of the client takes two arguments server locations and options:

    const Memcached = require('memcached-elasticache');
    const memcached = new Memcached(Server locations, options);

    Server locations

    When auto-discovery is enabled (default), specify the configuration endpoint of the cluster as a string in the following format: hostname:port. The configuration endpoint will be polled at regular intervals (see autoDiscoverInterval option) to detect changes to the cluster. Nodes will be automatically added/removed from the client accordingly.

    When auto-discovery is disabled, same as memcached module - specify one or more nodes that make up your cluster.

    Options

    Same as memcached module with the following extra options:

    autoDiscover

    A flag indicating whether the client should automatically discover the nodes of the cluster or not. If false, client behaviour is identical to memcached module and you must manually specify the nodes of the cluster when constructing the client. Defaults to true.

    autoDiscoverInterval

    The number of milliseconds between attempts to discover changes to the cluster - added/removed nodes. When auto-discovery is disabled, no polling occurs and this value is ignored. Defaults to 60000 (i.e. one minute).

    autoDiscoverOverridesRemove

    A flag indicating whether a dead node removed via the remove config option can be re-added by auto-discovery. When auto-discovery is disabled, this value is ignored. Defaults to false.

    API

    Same as memcached module - except private methods are not exposed.

    NOTE: When auto-discovery is enabled, calling end() stops the polling for changes to the cluster in addition to closing all active connections.

    Events

    Same as memcached module with the following extra events:

    autoDiscover

    Emitted when a change to the cluster is detected - added/removed nodes. Payload is an array of server locations for the current nodes in the cluster. When auto-discovery is disabled, this event is not emitted.

    autoDiscoverFailure

    Emitted when a error occurs while attempting to check for changes to the cluster. Payload is an Error object. When auto-discovery is disabled, this event is not emitted.

    Install

    npm i memcached-elasticache

    DownloadsWeekly Downloads

    5,163

    Version

    1.1.1

    License

    MIT

    Last publish

    Collaborators

    • jkehres