Redis Enterprise Software (RS) 6.0 is now available! This new version bundles open-source Redis 6, implements enhanced Access Control List (ACL) capabilities using Role-Based Access Control (RBAC) for database access, and adds the support of Redis Streams on Active-Active databases.

Version Information

Upgrade instructions

Follow these instructions for upgrading to RS 6.0 from RS 5.4.0 and above. For Active-Active deployments, this release requires that you upgrade the CRDB featureset version.

End of Life

End of Life (EOL) for Redis Enterprise Software 6.0 and previous RS versions, can be found here. EOL for Redis Modules can be found here.

New Features

Open source Redis 6

RS 6.0 bundles latest open source Redis 6. For more information, check out the Diving into Redis 6 article.

Access Control List (ACL)

Based on OSS Redis 6, RS 6.0 offers the ability to manage and control connections to your databases using users and their data access permissions in terms of commands they can execute and keys they can access.

In OSS Redis, the ACLs are managed separately per user for each database. In Redis Enterprise Software, Redis ACLs are managed for the databases at the cluster. For more information, check out the Redis Enterprise Software user management documentation.

Role-Based Access Control (RBAC)

RS 6.0 leverages Redis ACLs to implement role-based access control that easily scale and manage data access permissions. Using roles minimizes the overhead involved in managing a cluster with many databases, multiple users, and various access control lists. For more information, check out the Redis Enterprise Software user management documentation.

Active-Active support for Redis Streams

RS 6.0 adds support for Redis Streams on Active-Active geo-distributed databases using conflict-free replicated data type (CRDT). You can now use all Redis Streams commands including consumer groups on Active-Active databases. To enable it, upgrade your Active-Active database featureset version to the latest (featureset version = 2) as part of the upgrade process. For more information, check out Redis Streams on Active Active databases.

Redis Modules

The following GA releases of Redis Modules are bundled in RS 6.0:

To use the updated modules with a database, you must upgrade the module on the database.

Additional Capabilities

  • Added the ability to configure a storage service that uses the S3 protocol. Configuration for backup location and for import and export locations of RDB files is possible. The storage service must have a valid SSL certificate. To connect to an S3-compatible storage location, run: rladmin cluster config s3_url <url>

  • The crdb-cli tool was updated so it is now displaying the Active-Active database’s featureset version and the protocol version per instance. For example:

    $ crdb-cli crdb list --verbose
    CRDB-GUID               NAME                REPL-ID	PROTOCOL    FEATURESET    DB-ID     CLUSTER-FQDN
    969122be-...	loremipsum1           1	      0 	   	 0	    bdb:1       cluster1.local
    969122be-...	loremipsum1           2	      0 	   	 0	    bdb:1       cluster2.local
    
  • Added REST API and rladmin commands to modify the timeout for automatically disconnecting an inactive web UI session.

    • Using the rladmin run: rladmin cluster config cm_session_timeout_minutes <int_value>

    • Using the REST API:

      curl --request PUT \
      --url https://localhost:9443/v1/cluster \
      --header 'content-type: application/json' \
      --data '{
          "cm_session_timeout_minutes": 10
      }'
      
  • Added no_of_expires metrics for database metrics and for shard metrics. You can access this metric from the REST API:

    • no_of_expires shows the current number of volatile keys in the database.
    • expired_objects shows the rate of keys expired in DB (expirations/sec).
  • Added the ability to customize the welcome message on the login page in the web UI console.

Important Fixes

  • RS39121, RS35335 - Optimized the XREAD and XREADGROUP commands so when using them in a non blocking fashion (without BLOCK keyword) they use the shared connection instead of a dedicated connection.
  • RS26448 - Fixed ‘ram overhead’ metric calculation for ROF databases using AOF.
  • RS31190 - Fixed a bug that causes databases with OSS Cluster API enabled to override the ‘preferred IP type’ attribute from ‘external’ to ‘internal’ (the default value).
  • RS34009 - Updated the modules loading procedure for clusters with FIPS compliance enabled.
  • RS38233 - Improved the Redis cleanup job handling the persistent directory
  • RS39228 - Fixed a bug in the WAIT command that in some cases was released after a longer period than requested.
  • RS39749 - Fixed a bug that blocked eviction while LUA scripts were in progress.

Known Limitations

Upgrade

  • RS 5.4.2 introduced new Active-Active Redis Database capabilities that improve its compatibility with open source Redis. Now the string data-type in Active-Active Redis Database is implicitly and dynamically typed, just like open source Redis. To use the new capabilities on nodes that are upgraded from version RS 5.4.2 or lower, you must upgrade the Active-Active Redis Database protocol.
  • When you upgrade an Active-Active Redis with active AOF from version RS 5.4.2 or lower to version RS 5.4.4 or higher:
    • If replication is enabled, you must run the BGREWRITEAOF command on all slave shards after the upgrade.
    • If replication is not enabled, you must run the BGREWRITEAOF command on all shards after the upgrade.
  • Starting from RS 5.4.2, to preserve the current Redis major.minor version during database upgrade you must use the keep_redis_version option instead of keep_current_version.

Redis Commands

  • The capability of disabling specific Redis commands does not work on commands specific to Redis Modules.
  • Starting from RS 5.4.2 and after you upgrade an Active-Active database, TYPE commands for string data-type in Active-Active databases return “string” (OSS Redis standard).