Will append data to the supplied key if and only if it already exists.
In other words, add the value you supply to the end of the value currently residing in the supplied key.
// Assuming you have a key called `milkshake` and it currently has the value
// `vanilla`
client
.append('milkshake', ' malt')
.then(function() {
// now milkshake has a value of `vanilla malt`
console.log('Successfully appended to the key milkshake');
});
with async/await
// Assuming you have a key called `milkshake` and it currently has the value
// `vanilla`
await client.append('milkshake', ' malt')
// now milkshake has a value of `vanilla malt`
console.log('Successfully appended to the key milkshake')
If a key does not already exist and you try to use the append
command,
Memcached will return an error which Memcache Plus will throw.
// If 'milkshake' does not already exist
client
.append('milkshake', ' malt')
.then(function() {
// This will not get hit because `append` will throw on error
console.log('Successfully replaced the key milkshake')
})
.catch(function(err) {
// Will print: 'Cannot "replace" for key "milkshake" because it does not exist'
console.error(err)
})
with async/await
try {
// If 'milkshake' does not already exist
await client.append('milkshake', ' malt')
// This will not get hit because `append` will throw on error
console.log('Successfully replaced the key milkshake')
} catch (err) {
// Will print: 'Cannot "append" for key "milkshake" because it does not exist'
console.error(err)
}
Memcache Plus will always return a Promise which means it will work seamlessly with async/await as in many of the examples here but it can also take a traditional callback for any of its methods so it can work just like most of the other Memcache modules out there. For example:
client.append('milkshake', ' malt', function(err) {
console.log('Successfully appended to the key milkshake');
})
And if you try to append a key that does not already exist:
// If 'milkshake' does not already exist
client.append('milkshake', ' malt', function(err) {
// Will print: 'Cannot "append" to key "milkshake" because it does not exist'
console.error(err);
});
Will prepend data to the supplied key if and only if it already exists
// Assuming you have a key called `gauge` and it currently has the value
// `meter`
client
.prepend('gauge', 'thermo')
.then(function() {
// now gauge has a value of `thermometer`
console.log('Successfully prepended to the key meter');
});
with async/await
// Assuming you have a key called `gauge` and it currently has the value
// `meter`
await client.prepend('gauge', 'thermo')
// now gauge has a value of `thermometer`
console.log('Successfully prepended to the key gauge')
If a key does not already exist and you try to use the prepend
command,
Memcached will return an error which Memcache Plus will throw.
// If 'gauge' does not already exist
client
.prepend('gauge', 'thermo')
.then(function() {
// This will not get hit because `prepend` will throw on error
console.log('Successfully replaced the key gauge');
})
.catch(function(err) {
// Will print: 'Cannot "replace" for key "gauge" because it does not exist'
console.error(err);
});
// If 'gauge' does not already exist
try {
await client.prepend('gauge', 'thermo')
// This will not get hit because `prepend` will throw on error
console.log('Successfully replaced the key gauge')
} catch (err) {
// Will print: 'Cannot "prepend" for key "gauge" because it does not exist'
console.error(err)
}
Memcache Plus will always return a Promise, but it can also take a traditional callback for any of its methods so it can work just like most of the other Memcache modules out there. For example:
client.prepend('gauge', 'thermo', function(err) {
console.log('Successfully prepended to the key gauge');
});
And if you try to prepend a key that does not already exist:
// If 'gauge' does not already exist
client.prepend('gauge', 'thermo', function(err) {
// Will print: 'Cannot "prepend" to key "gauge" because it does not exist'
console.error(err);
});