Release of Redis Database 8.2

The release of the Redis 8.2 DBMS, belonging to the NoSQL system class, has been published. Redis provides functions for storing data in a key/value format, enhanced by support for structured data formats such as lists, hashes, and sets, as well as the ability to execute handler scripts on the server side using Lua. The project code is written in C and is distributed under the AGPLv3 license.

The Redis DBMS supports transactions, allowing a group of commands to be executed in a single step, ensuring consistency and isolation (commands from other requests cannot interfere) of the execution of a given set of commands, and in case of issues, allowing for rollback of changes. All data is fully cached in memory. Client libraries are available for most popular languages, including Perl, Python, PHP, Java, Ruby, and Tcl.

Commands for managing data include increment/decrement, standard operations on lists and sets (union, intersection), renaming keys, multiple selections, and sorting functions. Two storage modes are supported: periodic data synchronization to disk and maintaining a change log on disk. In the second case, complete integrity of all changes is guaranteed. Master-slave data replication can be organized across multiple servers, carried out in a non-blocking mode. A publish/subscribe messaging mode is also available, which creates a channel where messages are spread to subscribed clients.

Key changes in Redis 8.2:

  • More than 70 commands have been optimized to work faster than in Redis 8.0. For instance, the BITCOUNT command is now 35% faster, while commands for list operations LINSERT, LREM, and LPOS are faster by 25%. 17 of the optimized commands are at least 5% faster, and 52 are at least 2% faster.
    Release of Redis Database 8.2
  • Optimizations have been made to the code for handling concurrent operations and multithreaded I/O, allowing for a 49% increase in the number of operations processed per second in tests with 8 I/O threads, under a load distribution of 20% write requests and 80% read requests. One server was able to exceed the milestone of 1 million operations processed per second.
    Release of Redis Database 8.2
  • The method of storing data in key/value format has been fundamentally changed — a unified kvobj structure is now used for storage, allowing the packing of the key name, short value, and time-to-live into a single allocated memory block and eliminating the need for separate references to keys, data, and TTL in hash tables. When storing short string values, the new storage method has reduced memory consumption by 25-37%.
    Release of Redis Database 8.2
  • Optimizations have been made to the storage of data in JSON format, achieving a reduction in memory consumption by 25-67% when storing integers and floating-point numbers.
  • The Streams mechanism, used for processing and storing message streams, has added new commands XACKDEL and XDELEX, simplifying the work with streams that have multiple consumers (consumer groups). These commands address the issue of deleting a message only after its receipt has been confirmed by all handlers.
  • The BITOP command, designed for performing bitwise operations, has added new logical operators DIFF, DIFF1, ANDOR, and ONE.
  • A new type of vector index, SVS-VAMANA, supporting vector compression has been added.
  • New metrics have been introduced: load by individual slots and key size distribution for basic data types.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster