# Features and Benefits

## Features

* **In-memory data structure store:** In-Memory DB can be used as a data structure, cache, message broker, and streaming engine.
* **Multiple data types and structures:** While technically In-Memory DB is a key-value store, it is also a data structure server that supports multiple data types and structures, including the following: strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
* **Key eviction policy:** In-Memory DB supports LRU key eviction policy, which automatically detects old data in the cache when the `maxmemory` limit is reached upon incorporating new data. For more information, refer to the [<mark style="color:blue;">In-Memory DB documentation</mark>](https://redis.io/docs/latest/develop/reference/eviction/).
* **Lua Scripts:** You can upload and execute Lua scripts to the In-Memory DB server. These scripts can use programmatic control structures and supported commands to access the In-Memory DB instance during execution.
* **Built-in asynchronous replication:** Its built-in asynchronous replication feature acknowledges the amount of data processed. For more information, refer to the [<mark style="color:blue;">In-Memory DB documentation</mark>](https://redis.io/docs/latest/operate/oss_and_stack/management/replication/).
* **On-disk persistence:** It persists data on disks using AOF and RDB persistence options.
* **User Management and Security:** Access to the instance can be restricted to authorized users only. Role-based access control, robust encryption support, and user management tools ensure secure access and data protection.

## IONOS Cloud DBaaS Features

* **Upgrades:** Supports user-defined maintenance windows with minimal service disruption. The In-Memory DB instance may be unreachable for a few seconds when necessary for restarts or switching to another replica. Single-node instances temporarily gain a second node when it is necessary to replace the old one. Hence, maintenance downtime is the same for multi-node and single-node instances.
* **Programmatic Resource Management:** Easier to deploy and manage In-Memory DB in the IONOS Cloud ecosystem through APIs, SDKs, and configuration management tools.
* **Monitoring and Reporting:** In-Memory DB provides tools for performance monitoring, query analysis, and reporting to help optimize instance usage and identify potential issues.
* **Restore backup files:** You can restore the backup files of each In-Memory DB cluster. For more information, see [<mark style="color:blue;">View individual cluster details and restore a backup</mark>](https://docs.ionos.com/sections-test/guides/databases/dcd-how-tos/view-in-memory-db-clusters#view-individual-cluster-details-and-restore-a-backup).

## Benefits

* **Easy Configuration:** Configure your In-Memory DB instance to comply with IONOS Cloud DBaaS's specifications. You can quickly create an instance and define users using the API commands.
* **Swift data retrieval:** Its in-memory data structure store allows quick data retrieval from the cache.
* **Scalable:** Because of In-Memory DB's vertical scalability, you can add storage, memory, and cores to match the growing demand for greater data processing power.
* **High availability:** It supports both multi-node and single-node instances, which are equipped with automatic node failure handling. This ensures that it can continue to operate smoothly even if one or more nodes fail.
* **Security:** If your In-Memory DB instance is configured to use TLS, clients and In-Memory DB communicate securely using TLS. For more information, refer to the [<mark style="color:blue;">In-Memory DB documentation</mark>](https://redis.io/docs/latest/develop/tools/cli/).
* **Resources:** It is offered on Enterprise VM, with a dedicated CPU, storage, and RAM. Currently, SSD is the only supported storage option for In-Memory DB.
* **Network:** To guard against direct internet-based threats, DBaaS is only connected to private networks.
