registerCacheEvents() {
    /**
     * Adds a new index to the cache
     * @param  {string} index
     */
    global.kuzzle.onAsk(`core:storage:${this.scope}:cache:addIndex`, (index) =>
      this.cache.addIndex(index),
    );

    /**
     * Adds a new collection to the cache
     * @param  {string} index
     * @param  {string} collection
     */
    global.kuzzle.onAsk(
      `core:storage:${this.scope}:cache:addCollection`,
      (index, collection) => this.cache.addCollection(index, collection),
    );

    /**
     * Removes indexes from the cache
     * @param  {Array.<string>} indexes
     */
    global.kuzzle.onAsk(
      `core:storage:${this.scope}:cache:removeIndexes`,
      (indexes) => {
        for (const index of indexes) {
          this.cache.removeIndex(index);
        }
      },
    );

    /**
     * Removes a collection from the cache
     * @param  {string} index
     * @param  {string} collection
     */
    global.kuzzle.onAsk(
      `core:storage:${this.scope}:cache:removeCollection`,
      (index, collection) => this.cache.removeCollection(index, collection),
    );
  }
Cache update operations. These events trigger neither any actual change
in the storage layer, nor kuzzle events.