# respite > _respite_ > An interruption in the intensity or amount of something. This project is a way to disrupt the stress. It is also an in-memory key/value store. ## At a Glance - Single instance (no clustered mode) - Concurrency support and atomic operations - No Schema - No Pub/Sub - Supports specific types - Supports key and value constraints - HTTP API ### Supported Key Types The sizes below omit the size of heap references (64 bits). | Type | Size in Bytes | Description | | -------- | ------------- | ---------------------- | | `int64` | `8` | Signed 64-bit integer. | | `string` | Variable | UTF-16 | | `uuid` | `16` | N/A | | `date` | `8` | Year, month, day. | ### Supported Value Types The sizes below omit the size of heap references (64 bits). Booleans do not have precisely defined sizes on the JVM, but 1 byte is typical. | Type | Size in Bytes | Description | | -------- | ------------- | ---------------------- | | `int64` | `8` | Signed 64-bit integer. | | `string` | Variable | UTF-16 | | `uuid` | `16` | N/A | | `date` | `8` | Year, month, day. | | `bool` | `1` | True/false. | | `byte` | Variable | Any byte array. | ### Supported Operations - Get - Set - Delete - Increment - Decrement - Compare and Swap - Insert - Contains ### Supported Constraints Any of the following constraints may be applied to a single key space. If any operation on the key space violates a constraint, that operation fails. | Constraint | Description | | ------------------- | -------------------------------------------------------------------------- | | `single_key_type` | Only the given type is accepted for keys. | | `single_value_type` | Only the given type is accepted for values. | | `write_once` | Each key may be written exactly once. Deletes and reassignments will fail. | ## HTTP API Respite provides an HTTP API that uses JSON to transmit data.