This topic answers frequently asked questions about VMware GemFire for Redis Apps.

General Questions

  • What is VMware GemFire for Redis Apps?

    VMware GemFire® for Redis™ Apps is an add-on for VMware GemFire® that allows applications currently using a Redis client to connect to and send Redis commands to GemFire. This allows those applications to use GemFire as a datastore for Redis clients, with few to no code changes.

  • What is VMware GemFire?

    VMware GemFire® is an enterprise grade key-value NoSQL store. It offers high-speed in-memory data and compute grid with distributed database capabilities for high-performance, low latency applications where data must be consistent, up to date and delivered with sub-millisecond response times at scale, across multiple data centers. It is a key-value object store that offers highly available parallel queues, continuous availability and an event driven architecture that can scale dynamically with no downtime.

  • Do I Need VMware GemFire to Use VMware GemFire for Redis Apps?

    Yes. VMware GemFire for Redis Apps is an add-on that brings additional functionality to the core VMware GemFire product. It provides a set of APIs that are compatible with Redis clients and which utilize the underlying GemFire APIs for data storage and enterprise features.

  • How do I get started with VMware GemFire for Redis Apps?

    The first step is to download the add-on from Tanzu Net. Next, for detailed steps on how to get started please follow the directions in Quickstart Using VMware GemFire.

  • Is VMware GemFire for Redis Apps compatible with all versions of Redis?

    VMware GemFire for Redis Apps offers a Redis-like experience. This means that it is not tied to a specific version of OSS Redis server. At this time, VMware GemFire for Redis Apps is compatible with over 130 Redis commands, including most Redis Strings, Lists, Sets, Hashes, Sorted Sets, and Pub/Sub commands. We continue to add new Redis commands and data types with each new release. For a full list of supported commands please refer to the list of compatible Redis Commands.

  • Does VMware GemFire for Redis Apps support all Redis Commands and Features?

    Not currently. At this time, VMware GemFire for Redis Apps is compatible with over 130 Redis commands, including most Redis Strings, Lists, Sets, Hashes, Sorted Sets, and Pub/Sub commands. Some Redis features are not yet supported including Lua Scripting, Redis data structures not listed above (e.g. Streams, Bitmaps, etc.), Keyspace notifications, Redis Transactions, ACL Commands, the RESP3 protocol, and multiple eviction policies.

  • Is VMware GemFire for Redis Apps compatible with all Redis Clients?

    VMware GemFire for Redis Apps is only compatible with Redis clients that support the CLUSTER commands and that are running in “cluster” mode. Cluster mode and commands are supported by many of the major Redis clients and frameworks. This includes Spring, Java (Jedis, Lettuce, Redisson), C#/.Net, GO, Python, and Node.js.

  • When should I use VMware GemFire for Redis Apps versus OSS Redis?

    OSS Redis users that are looking for enterprise ready features out-of-the-box that are easy to manage and maintain. What are “enterprise ready features”? - High-Availability - Disaster Recovery and Data Persistence* - Scalability - Security - Consistent Replication - Monitoring Integrations - Multisite / Geo Replication

    • There may be performance implications when using data persistence.
  • How do I migrate my current Redis data to GemFire for Redis?

    VMware GemFire for Redis Apps supports type-based migration of supported data types (Strings, Sets, Sorted Sets, Lists, Hashes) using the Redis Input/Output Tool. To migrate data from your currently running Redis instance to VMware GemFire for Redis Apps, follow the Type-Based Replication instructions in the Redis Input/Output Tools (RIOT) documentation.

  • Does VMware GemFire for Redis Apps support Redis Modules?

    No. Current Redis licensing restricts many of these modules from being included. Additionally, as this add-on was created for VMware GemFire, it is written in Java and will be incompatible with other Redis modules that are written in C.


High Availability and Failover

  • How does data replication work with GemFire for Redis?

    In a cluster, VMware GemFire for Redis Apps allows users to configure the number of redundant copies of data, across all servers. When redundancy is configured, there will be 1 primary and 1 or more secondary copies of the data.

  • What is a VMware GemFire for Redis Apps cluster?

    A VMware GemFire for Redis Apps cluster is a distributed system that is comprised of Members. Typically members are either a locator or a server.

    • A locator is a VMware GemFire process that tells new, connecting members where running members are located and provides load balancing for server use.
    • A server is used primarily for hosting long-lived data regions and for running standard GemFire processes such as the server in a client/server configuration.

    VMware GemFire for Redis Apps clusters contain one to many VMware GemFire locators and servers, with data partitioned across each server.

  • Does VMware GemFire for Redis Apps support high availability?

    Yes, when redundancy is configured, there are two layers of high availability that VMware GemFire for Redis Apps implements:

    1. Data is divided amongst different GemFire servers by default. This means that losing a single GemFire server does not cause data loss.

    2. Primary and secondary data are never stored in the same GemFire server and a GemFire cluster can be configured such that Primary and Secondary data are never stored in the same data zone. Thus, if a data zone goes down, GemFire can restore consistency.

    For more information on configuring redundancy zones with VMware GemFire please refer to the documentation.


Disaster Recovery and Data Persistence

  • Does VMware GemFire for Redis Apps Backup and Restore Like Redis?

    Yes. VMware GemFire for Redis Apps offers Backup and Restore options that are like Redis.

    • Data Persistence. When persistence is enabled, all commands that change a key/value pair are also written to a file on disk.

    • Backup / Restore. When persistence is enabled, this will create a point-in-time backup for the cluster, using the files written to disk when persistence was enabled. This backup can then be used to restore a cluster. There are two types of backups:

      • Incremental Backup. An incremental backup saves the difference between the last backup and the current data.
      • Full Backup: Does a complete backup of the cluster including data and configuration files.
    • Snapshots. Snapshots allow you to save a region’s current data and reload it later. However, unlike persistent backups which capture a single point in time, snapshots must iterate over the data to export it and are only causally consistent. Some but not all writes that happen while the snapshot process is running may be included.

  • Can I restore my VMware GemFire for Redis Apps cluster from a Redis RDB or AOF file?

    No. Currently, VMware GemFire for Redis Apps does not support Redis RDB or AOF files.


Scalability

  • What is the largest cluster I can create with VMware GemFire for Redis Apps?

    VMware GemFire for Redis Apps does not have any programmatic restrictions on the size of the cluster users can create.

  • Can I resize my VMware GemFire for Redis Apps cluster?

    Yes. VMware GemFire allows users to scale their cluster up or down, horizontally and vertically, without interrupting application connections. When scaling vertically, users can add more memory and/or CPUs to each server in the cluster. Scaling horizontally simply means adding or removing a server from the cluster. When the cluster is horizontally scaled, it will automatically redistribute the data amongst the available servers, making sure the cluster is well balanced.


Security

  • Does VMware GemFire for Redis Apps support data encryption?

    VMware GemFire (and thus VMware GemFire for Redis Apps) supports encryption for data in transit. VMware GemFire for Redis Apps supports up to TLS 1.3 and mutual TLS, between applications and the VMware GemFire for Redis Cluster.

  • Can I use the Redis ACL Commands?

    No. Currently, VMware GemFire for Redis Apps does not support the Redis Access Control List commands.

  • If I can’t use the ACL commands, how do I add security to my cluster?

    VMware GemFire for Redis Apps supports a pluggable security model, which allows you to integrate with your security system as needed. This is accomplished through the VMware GemFire Security Manager. VMware GemFire supports authentication and authorization and integration with popular security protocols and systems such as OAuth and LDAP. Additionally, VMware GemFire for Redis Apps supports the Redis AUTH command (both with password only and username and password). For more detailed instructions on configuring Security in VMware GemFire for Redis Apps please see the Security documentation.


Consistent Replication

  • What does “Consistent Replication” mean?

    Consistent replication, sometimes referred to as Strong Consistency, means that every read receives the most recent data or an error. This is accomplished by routing all writes on a given key to the primary copy of that key. A lock is placed on the key while distributing updates to other servers that host a copy of the key. Because all updates are serialized on the primary GemFire server, all servers apply the updates in the same order and consistency is always maintained. Once all servers have been updated, the cluster sends back an acknowledgement to the client (or an error if something went wrong).

  • How is consistent replication different from Redis consistency?

    When a write command is sent to a Redis Cluster, the node that receives the write immediately sends an acknowledgement back to the Client, that the write was received. The write is then propagated to all replicas of the node. This means that if the node that received the write command goes down, the write would not be sent to the replicas.

    “Redis Cluster does not guarantee strong consistency. In practical terms this means that under certain conditions it is possible that Redis Cluster will lose writes that were acknowledged by the system to the client.” - OSS Redis Documentation


Monitoring Integrations

  • Does VMware GemFire for Redis Apps integrate with monitoring tools?

    VMware GemFire, the underlying core product, provides metrics that can be consumed by many popular monitoring tools, such as VMware Aria Operations for Applications.
check-circle-line exclamation-circle-line close-line
Scroll to top icon