Skip to main content

Extensibility

Garnet offers several ways to extend its core functionality:

  • Custom Raw String Command
  • Custom Object Command
  • Custom Transaction
  • Custom Procedure
  • Module

The below section describes those ways and the appropriate scenario to use them.

Custom Raw String Command

This is used to operate on a single key with raw string values. The records are stored in the main store.

Details available here.

Custom Object Command

This command operates on a single key as well, but on the object store. This is used to expose commands that perform operations on custom data types.

Details available here.

Custom Transaction

Custom transactions allow operating on multiple commands within a single block of execution in a transactional manner. This ensures atomicity during execution of the whole block.

Details available here.

Custom Procedure

This allows to invoke multiple commands within a single block as well. However, the commands are executed in a non-transactional manner as if they were individually issued by a client.

Details available here.

Module

A module offers a way to package all related extension commands, procedures and transactions into a single binary to be loaded into Garnet.

Details available here.