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

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

kuzzle.memoryStorage.zinterstore("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()->zinterstore('destination', ['key1', 'key2', '...']);
catch (ErrorException $e) {


Callback response:


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

If the destination key already exists, it is overwritten.

[Redis documentation]

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

destinationstringDestination key identifier
keysstringList of sorted sets to intersect
optionsJSON ObjectOptional parameters


aggregatestringSpecify how members' scores are aggregated during the intersection.
Allowed values: min, max, sum
queuablebooleanMark this request as (not) queuabletrue
weightsarraySpecify a multiplication factor for each input sorted set[1]

Callback response

Resolves to an integer containing the number of members in the stored intersection.