var entries = [
  {key: 'key1', value: 'foo'},
  {key: 'key2', value: 'bar'},
  {key: '...', value: '...'}

// Using callbacks (NodeJS or Web Browser)
kuzzle.memoryStorage.msetnx(entries, function (err, status) {
  // callback called once the action has completed

// Using promises (NodeJS only)
  .then(status => {
    // resolved once the action has completed
JSONObject[] entries = new JSONObject[]{
  new JSONObject().put("key", "key1").put("value", "foo"),
  new JSONObject().put("key", "key2").put("value", "bar"),
  new JSONObject().put("key", "...").put("value", "...")

kuzzle.memoryStorage.msetnx(entries, new ResponseListener<Integer>() {
  public void onSuccess(String status) {
    // callback called once the action has completed

  public void onError(JSONObject error) {

use \Kuzzle\Kuzzle;

$kuzzle = new Kuzzle('localhost');

$entries = [
  ['key' => 'key1', 'value' => 'foo'],
  ['key' => 'key2', 'value' => 'bar'],
  ['key' => '...', 'value' => '...']

try {
  $status = $kuzzle->memoryStorage()->msetnx(entries);
catch (ErrorException $e) {


Callback response:


Sets the provided keys to their respective values, only if they do not exist. If a key exists, then the whole operation is aborted and no key is set.

[Redis documentation]

msetnx(entries, [options], [callback])

entriesarrayList of objects each containing the key identifier to add with its associated value.
Properties: key (key identifier), value (associated value)
optionsJSON ObjectOptional parameters


queuablebooleanMark this request as (not) queuabletrue

Return value

Returns the MemoryStorage object to allow chaining.

Callback response

Resolves to an integer containing the operation status (0: fail, 1: success).