// Using callbacks (NodeJS or Web Browser)
kuzzle.memoryStorage.sinterstore('destination', ['key1', 'key2', '...'], function (err, count) {
  // callback called once the action has completed

// Using promises (NodeJS only)
kuzzle.memoryStorage.sinterstorePromise('destination', ['key1', 'key2', '...'])
  .then(count => {
    // resolved once the action has completed
String[] keys = new String[]{"key1", "key2", "..."};

kuzzle.memoryStorage.sinterstore("destination", keys, new ResponseListener<Long>() {
  public void onSuccess(int count) {
    // callback called once the action has completed

  public void onError(JSONObject error) {

use \Kuzzle\Kuzzle;

$kuzzle = new Kuzzle('localhost');

try {
  $count = $kuzzle->memoryStorage()->sinterstore('destination', ['key1', 'key2', '...']);
catch (ErrorException $e) {


Callback response:


Computes the intersection of the provided sets of unique values and stores the result in the destination key.

If the destination key already exists, it is overwritten.

[Redis documentation]

sinterstore(destination, keys, [options], callback)

destinationstringDestination key identifier
keysarrayList of sets of unique values to intersect
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 number of elements in the stored intersection.