
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
A pure-JavaScript memcached library for node.
To run the test suite, first insall expresso,
then run make test
.
If you have node-jscoverage you can
also make test-cov
for coverage, but that's pretty nerdy.
Create a Client object to start working. Host and port can be passed to the constructor or set afterwards. They have sensible defaults.
var memcache = require('./memcache');
var client = new memcache.Client(port, host);
client.port = 11211;
client.host = 'localhost';
The Client object emits 4 important events - connect, close, timeout and error.
client.on('connect', function(){
// no arguments - we've connected
});
client.on('close', function(){
// no arguments - connection has been closed
});
client.on('timeout', function(){
// no arguments - socket timed out
});
client.on('error', function(e){
// there was an error - exception is 1st argument
});
// connect to the memcache server after subscribing to some or all of these events
client.connect()
After connecting, you can start to make requests.
client.get('key', function(error, result){
// all of the callbacks have two arguments.
// 'result' may contain things which aren't great, but
// aren't really errors, like 'NOT_STORED'
});
client.set('key', 'value', function(error, result){
// lifetime is optional. the default is
// to never expire (0)
}, lifetime);
client.delete('key', function(error, result){
// delete a key from cache.
});
client.version(function(error, result)){
// grab the server version
});
There are all the commands you would expect.
// all of the different "store" operations
// (lifetime & flags are both optional)
client.set(key, value, callback, lifetime, flags);
client.add(key, value, callback, lifetime, flags);
client.replace(key, value, callback, lifetime, flags);
client.append(key, value, callback, lifetime, flags);
client.prepend(key, value, callback, lifetime, flags);
client.cas(key, value, unique, callback, lifetime, flags);
// increment and decrement (named differently to the server commands - for now!)
// (value is optional, defaults to 1)
client.increment('key', value, callback);
client.decrement('key', value, callback);
// statistics. the success argument to the callback
// is a key=>value object
client.stats(callback);
client.stats('settings', callback);
client.stats('items', callback);
client.stats('mongeese', callback);
Once you're done, close the connection.
client.close();
There might be bugs. I'd like to know about them.
I bet you also want to read the memcached protocol doc. It's exciting! It also explains possible error messages.
FAQs
simple memcache client
The npm package memcache receives a total of 171 weekly downloads. As such, memcache popularity was classified as not popular.
We found that memcache demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.