Skip to content

tomi77/node-libmemcached

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libmemcached

Build Status dependencies Status devDependencies Status Downloads

Node.js bindings to the libMemcached library.

Table of contents

Requirements

  • memcached >= 1.4.14
  • libmemcached >= 1.0.18
  • libmemcached-dev
  • gcc with c++11

Installation

npm install libmemcached --save

or

yarn add libmemcached

Usage

const MemcachedClient = require('libmemcached')

API

constructor(config: string)

Initialize client.

config parameter is a libMemcached configuration string.

const mcc = new MemcachedClient('--SERVER=127.0.0.1')

set(key: string, value: Buffer|string|number, expiration?:integer=0): this

Store item.

mcc.set('key', 'val')

Function throws Error when:

  • key is not provided
  • when value is not provided

Function throws TypeError when:

  • when value is boolean, null, undefined, function, object or array
try {
  mcc.set('key', true)
}
catch(err) {
  console.error(err)
}

add(key: string, value: Buffer|string|number, expiration?:integer=0): this

Add item. If key does exist - do nothing.

mcc.add('key', 'val')

Function throws Error when:

  • key is not provided
  • when value is not provided

Function throws TypeError when:

  • when value is boolean, null, undefined, function, object or array
try {
  mcc.add('key', true)
}
catch(err) {
  console.error(err)
}

replace(key: string, value: Buffer|string|number, expiration?:integer=0): this

Replace item. If key doesn't exist - do nothing.

mcc.replace('key', 'val')

Function throws Error when:

  • key is not provided
  • when value is not provided

Function throws TypeError when:

  • when value is boolean, null, undefined, function, object or array
try {
  mcc.replace('key', true)
}
catch(err) {
  console.error(err)
}

append(key: string, value: Buffer|string|number, expiration?:integer=0): this

Append value to existing item. If key doesn't exist - do nothing.

mcc.append('key', 'val')

Function throws Error when:

  • key is not provided
  • when value is not provided

Function throws TypeError when:

  • when value is boolean, null, undefined, function, object or array
try {
  mcc.append('key', true)
}
catch(err) {
  console.error(err)
}

prepend(key: string, value: Buffer|string|number, expiration?:integer=0): this

Prepend value to existing item. If key doesn't exist - do nothing.

mcc.prepend('key', 'val')

Function throws Error when:

  • key is not provided
  • when value is not provided

Function throws TypeError when:

  • when value is boolean, null, undefined, function, object or array
try {
  mcc.prepend('key', true)
}
catch(err) {
  console.error(err)
}

get(key: string): Buffer|undefined

Get item.

let val = mcc.get('key')

Function throws Error when:

  • key is not provided
try {
  let key
  let val = mcc.get(key)
}
catch(err) {
  console.error(err)
}

Function returns undefined when key doesn't exist.

exist(key: string): boolean

Determine if a item exists.

if (mcc.exist('key')) {
  console.log('key exist')
} else {
  console.log('key doesn\'t exist')
}

Function throws Error when:

  • key is not provided
try {
  let key
  mcc.exist(key)
}
catch(err) {
  console.error(err)
}

touch(key: string, expiration: integer): this

Update the expiration time of an existing item without fetching it.

mcc.touch('key', 100)

Function throws Error when:

  • key is not provided

Function throws TypeError when:

  • expiration isn't integer
try {
  mcc.touch('key', 1.23)
}
catch(err) {
  console.error(err)
}

delete(key: string): this

Remove a item.

mcc.delete('key')

Function throws Error when:

  • key is not provided
  • key is not exist
try {
  mcc.delete('not_existent_key')
}
catch(err) {
  console.error(err)
}

increment(key: string, offset?: integer=1): integer

Incrementing item.

let key = mcc.increment('key', 10)

Function throws Error when:

  • key is not provided
  • key is not exist

Function throws TypeError when:

  • item is not integer
  • offset is not integer
try {
  let key = mcc.increment('key', 10.1)
}
catch(err) {
  console.error(err)
}

decrement(key: string, offset?: integer=1): integer

Decrementing item.

let key = mcc.decrement('key', 10)

Function throws Error when:

  • key is not provided
  • key is not exist

Function throws TypeError when:

  • item is not integer
  • offset is not integer
try {
  let key = mcc.decrement('key', 10.1)
}
catch(err) {
  console.error(err)
}