This topic contains the release notes for VMware GemFire for Redis Applications.

VMWare is pleased to announce our newest release of VMware GemFire for Redis Applications. In Version 1.1, we continue to show VMWare’s commitment to providing a highly scalable and performant implementation of the Redis specification.

What’s New in VMware GemFire for Redis Applications 1.1.0

Released: March 3, 2023

VMware GemFire for Redis Applications v1.1.0 includes several new features:

HyperLogLog Implementation

This release of VMware GemFire for Redis Applications fully implements the Redis HyperLogLog specification including the following commands:

  • PFADD
  • PFCOUNT
  • PFMERGE

Keyspace Notifications

VMware GemFire for Redis Applications implements the Redis specification for Keyspace Notifications. GemFire for Redis Apps correctly preserves the order of event notification delivery. Due to some defects in the Redis Implementation, the order of event notifications between Redis and VMware GemFire for Redis Applications may differ.

New Eviction Policy (allkeys-lru)

The allkeys-lru eviction policy keeps most recently used keys and removes least recently used (LRU) keys. Unlike the Redis implementation, which uses only one configuration parameter, maxmemory, the VMware GemFire for Redis Applications implementation provides finer-grain control of eviction.

Eviction is controlled via two configuration settings:

  1. gemfire-for-redis-maxmemory-eviction-percent - sets the memory usage percentage threshold at which entries will begin to be evicted
  2. gemfire-for-redis-maxmemory-deny-commands-percent - sets the memory usage percentage threshold at which mutating commands will be denied execution

New Redis Commands For Lists, Strings, and Sorted Sets

The previous release of VMware GemFire for Redis Applications only provided support for Redis 5.x. In this release, we support new Redis 6.2 commands added for Lists, Strings, and Sorted Sets:

  • BLMOVE
  • GETDEL
  • GETEX
  • ZDIFF
  • ZDIFFSTORE
  • ZINTER
  • ZMSCORE
  • ZRANDMEMBER
  • ZRANGESTORE
  • ZUNION

INFO Command Now Supports Redis 6.2

The INFO command now supports the Redis 6.2 specification as well as expiration statistics.

Issues Resolved in VMware GemFire for Redis Applications v1.1.0:

VMware GemFire for Redis Applications v1.1.0 resolves the following issues:

GREDIS-142, GREDIS-144: Prevent scores being set to NaN when using ZINTERSTORE and ZUNIONSTORE.

GREDIS-167: When comparing values in a sorted set VMware GemFire for Redis Applications now uses Double.compare() rather than the equality operator to test if two scores are equal resulting in consistent behavior across sorted set commands.

This differs from the behavior in OSS Redis, where 0 and -0 are considered equal when performing ZADD but not equal when performing arithmetic such as in ZINCRBY or the SUM aggregation function in the ZDIFF, ZINTER and ZUNION commands.

GREDIS-177: RENAME now correctly returns an error if the source key does not exist.

GREDIS-184: LSET now properly handles index out range errors. When using LSET with an index that is out of range of the underlying list, VMware GemFire for Redis Applications now correctly shows the error message “(error) index out of range”.

GREDIS-200, GREDIS-204: INCRBYFLOAT and HINCRBYFLOAT now show correct decimal places. VMware GemFire for Redis Applications now correctly shows 17 digit precision as well as truncating trailing zeros.

GREDIS-222: TYPE now correctly returns “zset” when called against keys whose values are Sorted Sets.

GREDIS-293: Prevents issues with restarting servers when VMware GemFire for Redis Applications region is manually created.

GREDIS-302: Fixes an issue where blocking commands could trigger in the incorrect order.

GREDIS-332: Prevents possible NullPointerException when multiple clients concurrently perform SPOP.

GREDIS-400: Prevents rare case of error being returned to the client on server shutdown.

GREDIS-404: Returns the correct RESP2 response type for LPOP/RPOP with nonexistent keys.

GREDIS-405: Prevents integer over or underflow errors when specifying large expiration durations.

GREDIS-411: Prevents rare case of error being returned to the client on server shutdown when using PUBLISH.

check-circle-line exclamation-circle-line close-line
Scroll to top icon