Here are some frequently asked questions about Redis Enterprise Software.
Features and Terminology
Redis Labs has enhanced open source Redis with a technology layer that encapsulates open source Redis, while fully supporting all its commands, data structures and modules. It adds exceptional flexibility, stable high performance and unmatched resilience, as well as multiple deployment choices (public and private clouds, on-premises, hybrid, RAM-Flash combination), topology (active-active, active-passive, active-replica) and support for very large dataset sizes. This enhanced and exponentially more powerful database platform is Redis Enterprise.
Learn more about Redis Enterprise.
Yes we are. Not only are we are the home of Redis, but most of Redis’ core engineers also work for Redis Labs! We contribute extensively to the open source Redis project. As a rule, we adhere to the open source’s specifications and make every effort to update our service with its latest versions.
That said, the following Redis features are not applicable in the context of our service:
- Shared databases aren’t supported in our service given their potential negative impact on performance. We recommend using dedicated databases instead (read this post for more information). Therefore, the following commands are blocked and show an error when used:
- Data persistence and backups are managed from the service’s web interface, so the following commands are blocked:
- Since replication is managed automatically by the service and since it could present a security risk, the following commands are blocked:
- Redis Labs clustering technology is different than the open source Redis Cluster and supports clustering in a seamless manner that works with all standard Redis clients. As a result, all Cluster related commands are blocked and show an error when used.
- Redis Labs clustering technology allows multiple active proxies. As a result, the CLIENT ID command cannot guarantee incremental IDs between clients who connect to different nodes under multi proxy policies.
- Commands that aren’t relevant for a hosted Redis service are blocked:
- Additionally, only a subset of Redis’ configuration settings (via CONFIG GET/SET) is applicable to Redis Cloud. Attempts to get or set a configuration parameter that isn’t included in the following list show an error when used:
- slowlog-log-slower-than (value must be larger than 1000)
- slowlog-max-len (value must be between 128 and 1024)
- Lastly, unlike Redis’ 512MB limit, the maximum size of key names in our service is 64KB (key values, however, can have sizes up to 512MB).
You can use, experience and administer the full capabilities of Redis Enterprise Software (RS), but you may not deploy it in a production environment. In addition, the trial version allows a maximum of four shards and is limited to thirty (30) days of use after initial installation on the first server in the cluster. After the thirty day trial, the cluster shifts to read-only status. The free version does not provide the same support options as the paid version. Finally, no SLA is provided with the trial version. To continue operation of the cluster with full capabilities, you must purchase a subscription cluster key from Redis Labs.
The number of databases is unlimited. The limiting factor is the available memory in the cluster, and the number of shards in the subscription.
Note that the impact of the specific database configuration on the number of shards it consumes. For example:
- Enabling database replication, without enabling database clustering, creates two shards: a master shard and a slave shard.
- Enabling database clustering creates as many database shards as you configure.
- Enabling both database replication and database clustering creates double the number of database shards you configure.
As explained in the open source Redis FAQ, under “What happens if Redis runs out of memory?":
...[you] can use the "maxmemory" option in the config file to put a limit to the memory Redis can use. If this limit is reached Redis starts to reply with an error to write commands (but continues to accept read-only commands), or you can configure it to evict keys when the max memory limit is reached in the case you are using Redis for caching.
You can set the maxmemory value of each Redis Enterprise Software database in the management UI using the Memory limit property, as well as configure an eviction policy by setting it to any of the standard Redis behaviors, without interrupting database operations.