IBM Cloud Docs
High availability

High availability

IBM Cloud® Databases for Redis is a managed cloud database service that is fully integrated into the IBM Cloud environment. The database, storage, and supporting infrastructure all run in IBM Cloud.

Database high-availability features

Databases for Redis provides replication, fail-over, and high-availability features to protect your databases and data from infrastructure maintenance, upgrades, and failures. Deployments contain a cluster with two data members in a primary plus replica configuration, and kept in sync by using asynchronous replication. High-availability is monitored and managed with three Redis sentinels.

By default, data persistence is enabled on all deployments and your data is written to disk. The data persistence model uses preamble snapshots and AOF (Append Only File). The interval for Redis to write to disk (fsync) is set to once every second.

You can turn off data persistence, which is useful for configuring Redis as a cache.

High availability for your application

You want to design your applications to handle a temporary loss in connectivity to your deployment or to IBM Cloud.

Many Redis clients have features for error checking and handling, see the following examples:

  • The Python client Redis.py produces a ConnectionError when a connection fails and another command is run. The client can also issue health checks periodically or before commands.
  • The Java client Jedis produces a JedisConnectionException when it can't reach the database, and it tries to reconnect. However, it doesn't automatically retry a command, as not every command is safe to retry or run multiple times.
  • The C# driver StackExchange.Redis has adjustable parameters for client-side timeout, reconnect, and retry logic. You can tune these parameters to suit your application requirements.

A good example of cloud-ready application development that uses the Node.js client ioredis is in the IBM Developer article Error detection and handling with Redis.

For more information on connecting your applications to Databases for Redis, see the following documentation pages:

In all cases, you must review your client's documentation to help you design a stable application that checks for connectivity, reconnects when disconnected, and retries commands when it makes sense for your application to do so.

Several minutes of database unavailability or connection interruptions are not expected. Open a support ticket with details if you have time periods longer than a minute with no connectivity.

Monitoring the state of your databases

Databases for Redis has IBM® Cloud Logs integration so that you can view live and historical logs.

Checking your deployment's logs helps you monitor the state of HA and replication for your deployment. If you are having persistent issues with your applications, logs can also provide insight to what is happening on your databases when you are experiencing connection failures or other disruptions.

High availability, disaster recovery, and SLA resources

Databases for Redis deployments conform to the IBM Cloud Databases HA, DR, and SLA information and terms.