ADD
Adds the given key and value to memcache. The operation only succeeds
if the key is not already set. The expires argument (passed
in last, after the callback) overrides the default expiration (see
Client.create
). The callback signature is:
callback(err, success)
Client.prototype.add = function(key, value, callback, expires) {
var extras = Buffer.concat([new Buffer('00000000', 'hex'), makeExpiration(expires || this.options.expires)]);
this.seq++;
var request = makeRequestBuffer(2, key, extras, value.toString(), this.seq);
var logger = this.options.logger;
this.perform(key, request, function(err, response) {
if (err) {
callback && callback(err, null, null);
return;
}
switch (response.header.status) {
case 0:
callback && callback(null, true)
break;
case 2:
callback && callback(null, false);
break;
default:
var errorMessage = 'MemJS ADD: ' + errors[response.header.status];
logger.log(errorMessage, false);
callback && callback(new Error(errorMessage), null, null);
}
});
}