// Using callbacks (NodeJS or Web Browser)
kuzzle.memoryStorage.zscan('key', 0, function (err, page) {
  // callback called once the action has completed

// Using promises (NodeJS only)
kuzzle.memoryStorage.zscanPromise('key', 0)
  .then(page => {
    // resolved once the action has completed
kuzzle.memoryStorage.zscan("key", 0, new ResponseListener<JSONObject>() {
  public void onSuccess(JSONObject page) {
    // callback called once the action has completed

  public void onError(JSONObject error) {

use \Kuzzle\Kuzzle;

$kuzzle = new Kuzzle('localhost');

try {
  $page = $kuzzle->memoryStorage()->zscan('key', 0);
catch (ErrorException $e) {


Callback response:

  "cursor": 18,
  "values": [
    "member1's score",
    "member2's score",

Identical to scan, except that zscan iterates the members held by a sorted set.

[Redis documentation]

zscan(key, cursor, [options], callback)

keystringKey identifier
cursorintPage number (iteration starts with a cursor value of 0, and ends when the next cursor position is 0)
optionsJSON ObjectOptional parameters


countintReturn the approximate count number of items per result page10
matchstringSearch only for member values matching the provided pattern*
queuablebooleanMark this request as (not) queuabletrue

Callback response

Resolves to a JSON array containing 2 entries:

  • the cursor position for the next page of results (a next position of 0 indicates the end of the scan)
  • an array of, alternatively, sorted set members and their associated scores