1. Getting Started with the Infinispan CLI

The command line interface (CLI) lets you remotely connect to Infinispan servers to access data and perform administrative functions.

Prerequisites
  • At least one running Infinispan server.

1.1. Starting the Infinispan CLI

Start the Infinispan CLI as follows:

  1. Open a terminal in $ISPN_HOME.

  2. Run the CLI.

    $ bin/cli.sh
    [disconnected]>

1.2. Connecting to Infinispan Servers

Do one of the following:

  • Run the connect command to connect to a Infinispan server on the default port of 11222:

    [disconnected]> connect
    [hostname1@cluster//containers/default]>
  • Specify the location of a Infinispan server. For example, connect to a local server that has a port offset of 100:

    [disconnected]> connect 127.0.0.1:11322
    [hostname2@cluster//containers/default]>

Press the tab key to display available commands and options. Use the -h option to display help text.

The Infinispan CLI exposes a navigable tree that allows you to list, describe, and manipulate Infinispan cluster resources.

When you connect to a Infinispan cluster, it opens in the context of the default cache container.

[//containers/default]>
  • Use ls to list resources.

[//containers/default]> ls
caches
counters
configurations
schemas
  • Use cd to navigate the resource tree.

[//containers/default]> cd caches
  • Use describe to view information about resources.

[//containers/default]> describe
{
  "name" : "default",
  "version" : "xx.x.x-FINAL",
  "cluster_name" : "cluster",
  "coordinator" : true,
  "cache_configuration_names" : [ "org.infinispan.REPL_ASYNC", "___protobuf_metadata", "org.infinispan.DIST_SYNC", "org.infinispan.LOCAL", "org.infinispan.INVALIDATION_SYNC", "org.infinispan.REPL_SYNC", "org.infinispan.SCATTERED_SYNC", "org.infinispan.INVALIDATION_ASYNC", "org.infinispan.DIST_ASYNC" ],
  "physical_addresses" : "[192.0.2.0:7800]",
  "coordinator_address" : "<hostname>",
  "cache_manager_status" : "RUNNING",
  "created_cache_count" : "1",
  "running_cache_count" : "1",
  "node_address" : "<hostname>",
  "cluster_members" : [ "<hostname1>", "<hostname2>" ],
  "cluster_members_physical_addresses" : [ "192.0.2.0:7800", "192.0.2.0:7801" ],
  "cluster_size" : 2,
  "defined_caches" : [ {
    "name" : "mycache",
    "started" : true
  }, {
    "name" : "___protobuf_metadata",
    "started" : true
  } ]
}

1.3.1. CLI Resources

The Infinispan CLI exposes different resources to:

  • create, modify, and manage local or clustered caches.

  • perform administrative operations for Infinispan clusters.

Cache Resources
[//containers/default]> ls
caches
counters
configurations
schemas
caches

Infinispan cache instances. The default cache container is empty. Use the CLI to create caches from templates or infinispan.xml files.

counters

Strong or Weak counters that record the count of objects.

configurations

Configuration files.

schemas

Protocol Buffers (Protobuf) schemas that structure data in the cache.

Cluster Resources
[hostname@cluster/]> ls
containers
cluster
server
containers

Cache containers on the Infinispan cluster.

cluster

Lists Infinispan servers joined to the cluster.

server

Resources for managing and monitoring Infinispan servers.

1.4. Shutting Down Infinispan Servers

Use the CLI to gracefully shutdown running servers. This ensures that Infinispan passivates all entries to disk and persists state.

  • Use the shutdown server command to stop individual servers, for example:

    [//containers/default]> shutdown server server_hostname
  • Use the shutdown cluster command to stop all servers joined to the cluster, for example:

    [//containers/default]> shutdown cluster

Infinispan servers log the following shutdown messages:

INFO  [org.infinispan.SERVER] (pool-3-thread-1) ISPN080002: Infinispan Server stopping
INFO  [org.infinispan.CONTAINER] (pool-3-thread-1) ISPN000029: Passivating all entries to disk
INFO  [org.infinispan.CONTAINER] (pool-3-thread-1) ISPN000030: Passivated 28 entries in 46 milliseconds
INFO  [org.infinispan.CLUSTER] (pool-3-thread-1) ISPN000080: Disconnecting JGroups channel cluster
INFO  [org.infinispan.CONTAINER] (pool-3-thread-1) ISPN000390: Persisted state, version=<Infinispan version> timestamp=YYYY-MM-DDTHH:MM:SS
INFO  [org.infinispan.SERVER] (pool-3-thread-1) ISPN080003: Infinispan Server stopped
INFO  [org.infinispan.SERVER] (Thread-0) ISPN080002: Infinispan Server stopping
INFO  [org.infinispan.SERVER] (Thread-0) ISPN080003: Infinispan Server stopped

When you shutdown Infinispan clusters, the shutdown messages include:

INFO  [org.infinispan.SERVER] (pool-3-thread-1) ISPN080029: Cluster shutdown
INFO  [org.infinispan.CLUSTER] (pool-3-thread-1) ISPN000080: Disconnecting JGroups channel cluster

2. Performing Cache Operations with the Infinispan CLI

The command line interface (CLI) lets you remotely connect to Infinispan servers to access data and perform administrative functions.

Prerequisites
  • Start the Infinispan CLI.

  • Connect to a running Infinispan cluster.

2.1. Creating Caches from Templates

Use Infinispan cache templates to add caches with recommended default settings.

Procedure
  1. Create a distributed, synchronous cache from a template and name it "mycache".

    [//containers/default]> create cache --template=org.infinispan.DIST_SYNC mycache

    Press the tab key after the --template= argument to list available cache templates.

  2. Retrieve the cache configuration.

    [//containers/default]> describe caches/mycache
    {
      "distributed-cache" : {
        "mode" : "SYNC",
        "remote-timeout" : 17500,
        "state-transfer" : {
          "timeout" : 60000
        },
        "transaction" : {
          "mode" : "NONE"
        },
        "locking" : {
          "concurrency-level" : 1000,
          "acquire-timeout" : 15000,
          "striping" : false
        }
      }
    }

2.2. Adding Cache Entries

Add data to caches with the Infinispan CLI.

Prerequisites
  • Create a cache named "mycache".

Procedure
  1. Add a key/value pair to mycache.

    [//containers/default]> put --cache=mycache hello world

    If the CLI is in the context of a cache, do put k1 v1 for example:

    [//containers/default]> cd caches/mycache
    [//containers/default/caches/mycache]> put hello world
  2. List keys in the cache.

    [//containers/default]> ls caches/mycache
    hello
  3. Get the value for the hello key.

    1. Navigate to the cache.

      [//containers/default]> cd caches/mycache
    2. Use the get command to retrieve the key value.

      [//containers/default/caches/mycache]> get hello
      world

2.3. Deleting Cache Entries

Remove data from caches with the Infinispan CLI.

Prerequisites
  • Create a cache named "mycache" and add entries.

Procedure

Either delete all entries or remove specific entries as follows:

  • Delete all entries from a cache.

    [//containers/default]> clearcache mycache
  • Remove specific entries from a cache.

    [//containers/default]> remove --cache=mycache hello

2.4. Creating Custom Caches

Add caches with custom Infinispan configuration files in XML or JSON format.

Procedure
  • Add the path to your configuration file with the --file= option as follows:

[//containers/default]> create cache --file=prod_dist_cache.xml dist_cache_01

2.4.1. XML Configuration

Infinispan configuration in XML format must conform to the schema and include:

  • <infinispan> root element.

  • <cache-container> definition.

Example XML Configuration
<infinispan>
    <cache-container>
        <distributed-cache name="cacheName" mode="SYNC">
            <memory>
                <object size="20"/>
            </memory>
        </distributed-cache>
    </cache-container>
</infinispan>

2.4.2. JSON Configuration

Infinispan configuration in JSON format:

  • Requires the cache definition only.

  • Must follow the structure of an XML configuration.

    • XML elements become JSON objects.

    • XML attributes become JSON fields.

Example JSON Configuration
{
  "distributed-cache": {
    "mode": "SYNC",
    "memory": {
      "object": {
        "size": 20
      }
    }
  }
}

3. Performing Batch Operations

Process operations in groups, either interactively or using batch files.

Prerequisites
  • A running Infinispan cluster.

3.1. Performing Batch Operations with Files

Create files that contain a set of operations and then pass them to the Infinispan CLI.

Procedure
  1. Create a file that contains a set of operations.

    For example, create a file named batch that creates a cache named mybatch, adds two entries to the cache, and disconnects from the CLI.

    $ cat > batch<<EOF
    create cache --template=org.infinispan.DIST_SYNC mybatch
    put --cache=mybatch hello world
    put --cache=mybatch hola mundo
    disconnect
    EOF
  2. Run the CLI and specify the file as input.

    $ bin/cli.sh -c localhost:11222 -f batch
  3. Open a new CLI connection to Infinispan and verify mybatch.

    [//containers/default]> ls caches
    ___protobuf_metadata
    mybatch
    [//containers/default]> ls caches/mybatch
    hola
    hello
    [//containers/default]> disconnect
    [disconnected]>

3.2. Performing Batch Operations Interactively

Use the standard input stream, stdin, to perform batch operations interactively.

Procedure
  1. Start the Infinispan CLI in interactive mode.

    $ bin/cli.sh -c localhost:11222 -f -

    If you do not use the -c flag, you must run the connect command.

    $ bin/cli.sh -f -
    connect
  2. Run batch operations, for example:

    create cache --template=org.infinispan.DIST_SYNC mybatch
    put --cache=mybatch hello world
    put --cache=mybatch hola mundo
    disconnect
    quit

Use echo to add commands in interactive mode.

The following example shows how to use echo describe to get cluster information:

$ echo describe|bin/cli.sh -c localhost:11222 -f -
{
  "name" : "default",
  "version" : "10.0.0-SNAPSHOT",
  "coordinator" : false,
  "cache_configuration_names" : [ "org.infinispan.REPL_ASYNC", "___protobuf_metadata", "org.infinispan.DIST_SYNC", "qcache", "org.infinispan.LOCAL", "dist_cache_01", "org.infinispan.INVALIDATION_SYNC", "org.infinispan.REPL_SYNC", "org.infinispan.SCATTERED_SYNC", "mycache", "org.infinispan.INVALIDATION_ASYNC", "mybatch", "org.infinispan.DIST_ASYNC" ],
  "cluster_name" : "cluster",
  "physical_addresses" : "[192.168.1.7:7800]",
  "coordinator_address" : "thundercat-34689",
  "cache_manager_status" : "RUNNING",
  "created_cache_count" : "4",
  "running_cache_count" : "4",
  "node_address" : "thundercat-47082",
  "cluster_members" : [ "thundercat-34689", "thundercat-47082" ],
  "cluster_members_physical_addresses" : [ "10.36.118.25:7801", "192.168.1.7:7800" ],
  "cluster_size" : 2,
  "defined_caches" : [ {
    "name" : "___protobuf_metadata",
    "started" : true
  }, {
    "name" : "mybatch",
    "started" : true
  } ]
}

4. Working with Counters

Counters provide atomic increment and decrement operations that record the count of objects.

Prerequisites
  • Start the Infinispan CLI.

  • Connect to a running Infinispan cluster.

4.1. Creating Counters

Create strong and weak counters with the Infinispan CLI.

Procedure
  1. Run create counter with the appropriate arguments.

    1. Create my-weak-counter.

      [//containers/default]> create counter --concurrency-level=1 --initial-value=5 --storage=PERSISTENT --type=weak my-weak-counter
    2. Create my-strong-counter.

      [//containers/default]> create counter --initial-value=3 --storage=PERSISTENT --type=strong my-strong-counter
  2. List available counters.

    [//containers/default]> ls counters
    my-strong-counter
    my-weak-counter
  3. Verify counter configurations.

    1. Describe my-weak-counter.

      [//containers/default]> describe counters/my-weak-counter
      
      {
          "weak-counter":{
              "initial-value":5,
              "storage":"PERSISTENT",
              "concurrency-level":1
          }
      }
    2. Describe my-strong-counter.

      [//containers/default]> describe counters/my-strong-counter
      
      {
          "strong-counter":{
              "initial-value":3,
              "storage":"PERSISTENT",
              "upper-bound":5
          }
      }

4.2. Adding Deltas to Counters

Increment or decrement counters with arbitrary values.

Procedure
  1. Select a counter.

    [//containers/default]> counter my-weak-counter
  2. List the current count.

    [//containers/default/counters/my-weak-counter]> ls
    5
  3. Increment the counter value by 2.

    [//containers/default/counters/my-weak-counter]> add --delta=2
  4. Decrement the counter value by -4.

    [//containers/default/counters/my-weak-counter]> add --delta=-4

Strong counters return values after the operation is applied. Use --quiet=true to hide the return value.

For example, my-strong-counter]> add --delta=3 --quiet=true.

Weak counters return empty responses.

5. Querying Caches with Protobuf Metadata

Infinispan supports using Protocol Buffers (Protobuf) to structure data in the cache so that you can query it.

Prerequisites
  • Start the Infinispan CLI.

  • Connect to a running Infinispan cluster.

5.1. Configuring Media Types

Encode cache entries with different media types to store data in a format that best suits your requirements.

For example, the following procedure shows you how to configure the application/x-protostream media type.

Procedure
  1. Create a Infinispan configuration file that adds a distributed cache named qcache and configures the media type, for example:

    <infinispan>
       <cache-container>
          <distributed-cache name="qcache">
             <encoding>
                <key media-type="application/x-protostream"/>
                <value media-type="application/x-protostream"/>
             </encoding>
          </distributed-cache>
       </cache-container>
    </infinispan>
  2. Create qcache from pcache.xml with the --file= option.

    [//containers/default]> create cache --file=pcache.xml pcache
  3. Verify pcache.

    [//containers/default]> ls caches
    pcache
    ___protobuf_metadata
    [//containers/default]> describe caches/pcache
    {
      "distributed-cache" : {
        "mode" : "SYNC",
        "encoding" : {
          "key" : {
            "media-type" : "application/x-protostream"
          },
          "value" : {
            "media-type" : "application/x-protostream"
          }
        },
        "transaction" : {
          "mode" : "NONE"
        }
      }
    }
  4. Add an entry to pcache and check the encoding.

    [//containers/default]> put --cache=pcache good morning
    [//containers/default]> cd caches/pcache
    [//containers/default/caches/pcache]> get good
    {
      "_type" : "string",
      "_value" : "morning"
    }

5.2. Registering Protobuf Schemas

Protobuf schemas contain data structures known as messages in .proto definition files.

Procedure
  1. Create a schema file named person.proto with the following messages:

    package org.infinispan.rest.search.entity;
    
    message Address {
        required string street = 1;
        required string postCode = 2;
    }
    
    message PhoneNumber {
        required string number = 1;
    }
    
    message Person {
        optional int32 id = 1;
        required string name = 2;
        required string surname = 3;
        optional Address address = 4;
        repeated PhoneNumber phoneNumbers = 5;
        optional uint32 age = 6;
        enum Gender {
            MALE = 0;
            FEMALE = 1;
        }
    
        optional Gender gender = 7;
    }
  2. Register person.proto.

    [//containers/default]> schema --upload=person.proto person.proto
  3. Verify person.proto.

    [//containers/default]> cd caches/___protobuf_metadata
    [//containers/default/caches/___protobuf_metadata]> ls
    person.proto
    [//containers/default/caches/___protobuf_metadata]> get person.proto

5.3. Querying Caches with Protobuf Schemas

Infinispan automatically converts JSON to Protobuf so that you can read and write cache entries in JSON format and use Protobuf schemas to query them.

For example, consider the following JSON documents:

lukecage.json
{
  "_type":"org.infinispan.rest.search.entity.Person",
  "id":2,
  "name":"Luke",
  "surname":"Cage",
  "gender":"MALE",
  "address":{"street":"38th St","postCode":"NY 11221"},
  "phoneNumbers":[{"number":4444},{"number":5555}]
}
jessicajones.json
{
  "_type":"org.infinispan.rest.search.entity.Person",
  "id":1,
  "name":"Jessica",
  "surname":"Jones",
  "gender":"FEMALE",
  "address":{"street":"46th St","postCode":"NY 10036"},
  "phoneNumbers":[{"number":1111},{"number":2222},{"number":3333}]
}
matthewmurdock.json
{
  "_type":"org.infinispan.rest.search.entity.Person",
  "id":3,
  "name":"Matthew",
  "surname":"Murdock",
  "gender":"MALE",
  "address":{"street":"57th St","postCode":"NY 10019"},
  "phoneNumbers":[]
}

Each of the preceding JSON documents contains:

  • a _type field that identifies the Protobuf message to which the JSON document corresponds.

  • several fields that correspond to datatypes in the person.proto schema.

Procedure
  1. Navigate to the pcache cache.

    [//containers/default/caches]> cd pcache
  2. Add each JSON document as an entry to the cache, for example:

    [//containers/default/caches/pcache]> put --encoding=application/json --file=jessicajones.json jessicajones
    [//containers/default/caches/pcache]> put --encoding=application/json --file=matthewmurdock.json matthewmurdock
    [//containers/default/caches/pcache]> put --encoding=application/json --file=lukecage.json lukecage
  3. Verify that the entries exist.

    [//containers/default/caches/pcache]> ls
    lukecage
    matthewmurdock
    jessicajones
  4. Query the cache to return entries from the Protobuf Person entity where the gender datatype is MALE.

    [//containers/default/caches/pcache]> query "from org.infinispan.rest.search.entity.Person p where p.gender = 'MALE'"
    {
      "total_results" : 2,
      "hits" : [ {
        "hit" : {
          "_type" : "org.infinispan.rest.search.entity.Person",
          "id" : 2,
          "name" : "Luke",
          "surname" : "Cage",
          "gender" : "MALE",
          "address" : {
            "street" : "38th St",
            "postCode" : "NY 11221"
          },
          "phoneNumbers" : [ {
            "number" : "4444"
          }, {
            "number" : "5555"
          } ]
        }
      }, {
        "hit" : {
          "_type" : "org.infinispan.rest.search.entity.Person",
          "id" : 3,
          "name" : "Matthew",
          "surname" : "Murdock",
          "gender" : "MALE",
          "address" : {
            "street" : "57th St",
            "postCode" : "NY 10019"
          }
        }
      } ]
    }

6. Command Reference

Review manual pages for Infinispan CLI commands.

Use help command to access manual pages directly from your CLI session.

For example, to view the manual page for the get command do the following:

$ help get

6.1. ADD(1)

6.1.1. NAME

add - increments and decrements counters with arbitrary values.

6.1.2. SYNOPSIS

add ['OPTIONS'] ['COUNTER_NAME']

6.1.3. OPTIONS

--delta='nnn'

Sets a delta to increment or decrement the counter value. Defaults to 1.

-q, --quiet='[true|false]'

Hides return values for strong counters. The default is false.

6.1.4. EXAMPLES

add --delta=10 cnt_a
Increments the value of cnt_a by 10.

add --delta=-5 cnt_a
Decrements the value of cnt_a by 5.

6.1.5. SEE ALSO

cas(1), reset(1)

6.2. CACHE(1)

6.2.1. NAME

cache - selects the default cache for subsequent commands.

6.2.2. SYNOPSIS

cache ['CACHE_NAME']

6.2.3. EXAMPLE

cache mycache
Selects mycache and is the same as navigating the resource tree using cd caches/mycache.

6.2.4. SEE ALSO

cd(1), clear(1), container(1), get(1), put(1), remove(1)

6.3. CAS(1)

6.3.1. NAME

cas - performs 'compare-and-swap' operations on strong counters.

6.3.2. SYNOPSIS

cas ['OPTIONS'] ['COUNTER_NAME']

6.3.3. OPTIONS

--expect='nnn'

Specifies the expected value of the counter.

--value='nnn'

Sets a new value for the counter.

-q, --quiet='[true|false]'

Hides return values. The default is false.

6.3.4. EXAMPLE

cas --expect=10 --value=20 cnt_a
Sets the value of cnt_a to 20 only if the current value is 10

6.3.5. SEE ALSO

add(1), cas(1), reset(1)

6.4. CD(1)

6.4.1. NAME

cd - navigates the server resource tree.

6.4.2. DESCRIPTION

PATH can be absolute or relative to the current resource. ../ specifies parent resources.

6.4.3. SYNOPSIS

cd ['PATH']

6.4.4. EXAMPLE

cd caches
Changes to the caches path in the resource tree.

6.4.5. SEE ALSO

cache(1), ls(1), container(1)

6.5. CLEARCACHE(1)

6.5.1. NAME

clearcache - removes all entries from a cache.

6.5.2. SYNOPSIS

clearcache ['CACHE_NAME']

6.5.3. EXAMPLES

clearcache mycache
Removes all entries from mycache.

6.5.4. SEE ALSO

cache(1), drop(1), remove(1)

6.6. CONNECT(1)

6.6.1. NAME

connect - connects to running ${infinispan.brand.name} servers.

6.6.2. DESCRIPTION

Defaults to http://localhost:11222 and prompts for credentials if authentication is required.

6.6.3. SYNOPSIS

connect ['OPTIONS'] ['SERVER_LOCATION']

6.6.4. OPTIONS

-u, --username='USERNAME'

Specifies a username to authenticate with ${infinispan.brand.name} servers.

-p, --password='PASSWORD'

Specifies passwords.

6.6.5. EXAMPLE

connect 127.0.0.1:11322 -u test -p changeme
Connects to a locally running server using a port offset of 100 and example credentials.

6.6.6. SEE ALSO

disconnect(1)

6.7. CONTAINER(1)

6.7.1. NAME

container - selects the container for running subsequent commands.

6.7.2. SYNOPSIS

container ['CONTAINER_NAME']

6.7.3. EXAMPLE

container default
Selects the default container and is the same as navigating the resource tree using cd containers/default.

6.7.4. SEE ALSO

cd(1), clear(1), container(1), get(1), put(1), remove(1)

6.8. COUNTER(1)

6.8.1. NAME

counter - selects the default counter for subsequent commands.

6.8.2. SYNOPSIS

counter ['COUNTER_NAME']

6.8.3. EXAMPLE

counter cnt_a
Selects cnt_a and is the same as navigating the resource tree using cd counters/cnt_a.

6.8.4. SEE ALSO

add(1), cas(1)

6.9. CREATE(1)

6.9.1. NAME

create - creates caches and counters on ${infinispan.brand.name} servers.

6.9.2. SYNOPSIS

create cache ['OPTIONS'] CACHE_NAME

create counter ['OPTIONS'] COUNTER_NAME

6.9.3. CREATE CACHE OPTIONS

-f, --file='FILE'

Specifies a configuration file in JSON or XML format.

-t, --template='TEMPLATE'

Specifies a configuration template. Use tab autocompletion to see available templates.

-v, --volatile='[true|false]'

Specifies whether the cache is persistent or volatile. The default is false.

6.9.4. CREATE COUNTER OPTIONS

-t, --type='[weak|strong]'

Specifies if the counter is weak or strong.

-s, --storage='[PERSISTENT|VOLATILE]'

Specifies whether the counter is persistent or volatile.

-c, --concurrency-level='nnn'

Sets the concurrency level of the counter.

-i, --initial-value='nnn'

Sets the initial value of the counter.

-l, --lower-bound='nnn'

Sets the lower bound of a strong counter.

-u, --upper-bound='nnn'

Sets the upper bound of a strong counter.

6.9.5. EXAMPLES

create cache --template=org.infinispan.DIST_SYNC mycache
Creates a cache named mycache from the DIST_SYNC template.

create counter --initial-value=3 --storage=PERSISTENT --type=strong cnt_a
Creates a strong counter named cnt_a.

6.9.6. SEE ALSO

drop(1)

6.10. DESCRIBE(1)

6.10.1. NAME

describe - displays information about resources.

6.10.2. SYNOPSIS

describe ['PATH']

6.10.3. EXAMPLES

describe //containers/default
Displays information about the default container.

describe //containers/default/caches/mycache
Displays information about the mycache cache.

describe //containers/default/caches/mycache/k1
Displays information about the k1 key.

describe //containers/default/counters/cnt1
Displays information about the cnt1 counter.

6.10.4. SEE ALSO

cd(1), ls(1)

6.11. DISCONNECT(1)

6.11.1. NAME

disconnect - ends CLI sessions with ${infinispan.brand.name} servers.

6.11.2. SYNOPSIS

disconnect

6.11.3. EXAMPLE

disconnect
Ends the current CLI session.

6.11.4. SEE ALSO

connect(1)

6.12. DROP(1)

6.12.1. NAME

drop - deletes caches and counters.

6.12.2. SYNOPSIS

drop cache CACHE_NAME

drop counter COUNTER_NAME

6.12.3. EXAMPLES

drop cache mycache
Deletes the mycache cache.

drop counter cnt_a
Deletes the cnt_a counter.

6.12.4. SEE ALSO

create(1), clearcache(1)

6.13. ENCODING(1)

6.13.1. NAME

encoding - displays and sets the encoding for cache entries.

6.13.2. DESCRIPTION

Sets a default encoding for put and get operations on a cache. If no argument is specified, the encoding command displays the current encoding.

Valid encodings use standard MIME type (IANA media types) naming conventions, such as the following:

  • text/plain

  • application/json

  • application/xml

  • application/octet-stream

6.13.3. SYNOPSIS

encoding ['ENCODING']

6.13.4. EXAMPLE

encoding application/json
Configures the currently selected cache to encode entries as application/json.

6.13.5. SEE ALSO

get(1), put(1)

6.14. GET(1)

6.14.1. NAME

get - retrieves entries from a cache.

6.14.2. SYNOPSIS

get ['OPTIONS'] KEY

6.14.3. OPTIONS

-c, --cache='NAME'

Specifies the cache from which to retrieve entries. Defaults to the currently selected cache.

6.14.4. EXAMPLE

get hello -c mycache
Retrieves the value of the key named hello from mycache.

6.14.5. SEE ALSO

query(1), put(1)

6.15. HELP(1)

6.15.1. NAME

help - prints manual pages for commands.

6.15.2. SYNOPSIS

help ['COMMAND']

6.15.3. EXAMPLE

help get
Prints the manual page for the get command.

6.15.4. SEE ALSO

version(1)

6.16. LS(1)

6.16.1. NAME

ls - lists resources for the current path or a given path.

6.16.2. SYNOPSIS

ls ['PATH']

6.16.3. EXAMPLES

ls caches
Lists the available caches.

ls ../
Lists parent resources.

6.16.4. SEE ALSO

cd(1)

6.17. PUT(1)

6.17.1. NAME

put - adds or updates cache entries.

6.17.2. DESCRIPTION

Creates entries for new keys. Replaces values for existing keys.

6.17.3. SYNOPSIS

put ['OPTIONS'] KEY [VALUE]

6.17.4. OPTIONS

-c, --cache='NAME'

Specifies the name of the cache. Defaults to the currently selected cache.

-e, --encoding='ENCODING'

Sets the media type for the value.

-f, --file='FILE'

Specifies a file that contains the value for the entry.

-l, --ttl='TTL'

Sets the number of seconds before the entry is automatically deleted (time-to-live). Defaults to the value for lifespan in the cache configuration if 0 or not specified. If you set a negative value, the entry is never deleted.

-i, --max-idle='MAXIDLE'

Sets the number of seconds that the entry can be idle. If a read or write operation does not occur for an entry after the maximum idle time elapses, the entry is automatically deleted. Defaults to the value for maxIdle in the cache configuration if 0 or not specified. If you set a negative value, the entry is never deleted.

-a, --if-absent=[true|false]

Puts an entry only if it does not exist.

6.17.5. EXAMPLES

put -c mycache hello world
Adds the hello key with a value of world to the mycache cache.

put -c mycache -f myfile -i 500 hola
Adds the hola key with the value from the contents of myfile. Also sets a maximum idle of 500 seconds.

6.17.6. SEE ALSO

get(1), remove(1)

6.18. QUERY(1)

6.18.1. NAME

query - retrieves entries that match Ickle query strings.

6.18.2. SYNOPSIS

query ['OPTIONS'] QUERY_STRING

6.18.3. OPTIONS

-c, --cache='NAME'

Specifies the cache to query. Defaults to the currently selected cache.

--max-results='MAX_RESULTS'

Sets the number of results to return. The default is 10.

-o, --offset='OFFSET'

Specifies the index of the first result to return. The default is 0.

--query-mode='QUERY_MODE'

Specifies how the server executes the query. Values are FETCH and BROADCAST. The default is FETCH.

6.18.4. EXAMPLES

query "from org.infinispan.rest.search.entity.Person p where p.gender = 'MALE'"
Queries the currently selected cache to return entries from a Protobuf Person entity where the gender datatype is MALE.

6.18.5. SEE ALSO

schema(1)

6.19. QUIT(1)

6.19.1. NAME

quit - exits the command line interface.

6.19.2. SYNOPSIS

quit

6.19.3. EXAMPLE

quit
Exits the CLI.

6.19.4. SEE ALSO

disconnect(1), shutdown(1)

6.20. REMOVE(1)

6.20.1. NAME

remove - deletes entries from a cache.

6.20.2. SYNOPSIS

remove KEY ['OPTIONS']

6.20.3. OPTIONS

--cache='NAME'

Specifies the cache from which to remove entries. Defaults to the currently selected cache.

6.20.4. EXAMPLE

remove --cache=mycache hola
Deletes the hola entry from the mycache cache.

6.20.5. SEE ALSO

cache(1), drop(1), clearcache(1)

6.21. RESET(1)

6.21.1. NAME

reset - restores the initial values of counters.

6.21.2. SYNOPSIS

reset ['COUNTER_NAME']

6.21.3. EXAMPLE

reset cnt_a
Resets the cnt_a counter.

6.21.4. SEE ALSO

add(1), cas(1), drop(1)

6.22. SCHEMA(1)

6.22.1. NAME

schema - uploads and registers protobuf schemas.

6.22.2. SYNOPSIS

schema ['OPTIONS'] SCHEMA_NAME

6.22.3. OPTIONS

-u, --upload='FILE'

Uploads a file as a protobuf schema with the given name.

6.22.4. EXAMPLE

schema --upload=person.proto person.proto
Registers a person.proto Protobuf schema.

6.22.5. SEE ALSO

query(1)

6.23. SHUTDOWN(1)

6.23.1. NAME

shutdown - stops individual servers or performs orderly shutdowns for entire clusters.

6.23.2. SYNOPSIS

shutdown server ['SERVERS']

shutdown cluster

6.23.3. EXAMPLES

shutdown server my_server01
Stops the server with hostname my_server01.

shutdown cluster
Performs an orderly shutdown of all servers joined to the cluster.

6.23.4. SEE ALSO

connect(1), disconnect(1), quit(1)

6.24. SITE(1)

6.24.1. NAME

site - manages backup sites and performs cross-site replication operations.

6.24.2. SYNOPSIS

site status ['OPTIONS']

site bring-online ['OPTIONS']

site take-offline ['OPTIONS']

site push-site-state ['OPTIONS']

site cancel-push-state ['OPTIONS']

site cancel-receive-state ['OPTIONS']

site push-site-status ['OPTIONS']

6.24.3. OPTIONS

-c, --cache='CACHE_NAME'

Specifies a cache. Defaults to the currently selected cache.

-s, --site='SITE_NAME'

Specifies a site.

6.24.4. EXAMPLES

site status -s SITE_A
Returns the status for SITE_A.

site bring-online --cache=mycache --site=SITE_A
Brings the mycache cache online at SITE_A.

site take-offline --cache=mycache --site=SITE_B
Takes the mycache cache offline at SITE_B.

site push-site-state --site=SITE_B
Push the state of all caches to the backup site SITE_B.

site push-site-status --site=SITE_B
Displays the current status of the push to the backup site SITE_B.

site cancel-push-state --site=SITE_B
Cancels the operation to push state to the backup site SITE_B.

site cancel-receive-state --site=SITE_A
Cancels the operation to receive state from a remote site.

6.25. TASK(1)

6.25.1. NAME

task - executes and uploads server-side tasks and scripts

6.25.2. SYNOPSIS

task upload --file='script' 'TASK_NAME'

task exec ['TASK_NAME']

6.25.3. EXAMPLES

task upload --file=hello.js hello
Uploads a script from a hello.js file and names it hello.

task exec @@cache@names
Runs a task that returns available cache names.

task exec hello -Pgreetee=world
Runs a script named hello and specifies the greetee parameter with a value of world.

6.25.4. OPTIONS

-P, --parameters='PARAMETERS'

Passes parameter values to tasks and scripts.

-f, --file='FILE'

Uploads script files with the given names.

6.25.5. SEE ALSO

ls(1)

6.26. VERSION(1)

6.26.1. NAME

version - displays the server version and CLI version.

6.26.2. SYNOPSIS

version

6.26.3. EXAMPLE

version
Returns the version for the server and the CLI.

6.26.4. SEE ALSO

help(1)