Hasty Briefsbeta

Bilingual

Redis 8.8: New array data structure, rate limiter, performance improvements

2 days ago
  • #Redis
  • #Performance
  • #Data Structures
  • Redis 8.8 introduces a new general-purpose array data structure, offering fast index-addressable storage, dynamic sizing, sparse support, server-side aggregation, and search capabilities.
  • Performance improvements across data types include up to 68% throughput gain for pipelined MGET with I/O-threads, up to −83% for XREADGROUP in streams, and up to 60% faster persistence and replication.
  • A window counter rate limiter command (INCREX) simplifies rate limiting without Lua scripts, supporting bounds, expiration control, and partial acceptance (saturation).
  • Streams gain message NACKing (XNACK) with SILENT, FAIL, and FATAL modes for explicit message rejection, prioritizing redelivery and handling poison messages.
  • Hash subkey notifications allow clients to subscribe to field-level events (e.g., expiration, deletion) via new pub/sub channel types, enhancing real-time monitoring.
  • Time series commands now support multiple aggregators (e.g., MIN, MAX, FIRST, LAST) in a single query, reducing round trips for use cases like candlestick charts.
  • JSON numeric arrays can be explicitly stored as BF16, FP16, FP32, or FP64, optimizing memory and precision tradeoffs for vector embeddings and AI workloads.
  • Sorted set union/intersection operations add a COUNT aggregator, enabling scores based on set membership count or weighted sum for ranking and analytics.