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

// Using promises (NodeJS only)
  .then(page => {
    // resolved once the action has completed
kuzzle.memoryStorage.scan(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()->scan(0);
catch (ErrorException $e) {


Callback response:

  "cursor": 18,
  "values": [

Iterates incrementally the set of keys in the database using a cursor.

An iteration starts when the cursor is set to 0.
To get the next page of results, simply re-send the identical request with the updated cursor position provided in the result set.
The scan terminates when the next position cursor returned by the server is 0.

[Redis documentation]

scan(cursor, [options], callback)

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 field names matching the provided pattern*
queuablebooleanMark this request as (not) queuabletrue

Callback response

Resolves to a JSON object containing 2 entries:

  • the cursor position for the next page of results (a next position of 0 indicates the end of the scan)
  • a list of fetched keys