Redis 6 RC1 was released, and project creator antirez describes it in a blog post, which is by far the most “enterprise”-based version (features such as SSL and ACLs are highly correlated with the enterprise), the largest version, and the most attended version. The GA version is expected to be released between March and May next year.
New features of Redis 6 include:
Many new module APIs
Better expiration cycles
Diskless copy on a replica
Redis Baseline Cluster Support with Redis-cli Improvements
Systemd supports rewriting
Redis Cluster agent released with Redis 6 (different warehouses)
Redis 6 Releases Disque Module (Different Warehouses)
Antirez highlights several of these features:
This is the new network protocol in Redis 6, but it is optional, and the connection starts in RESP2 mode and enters the new protocol mode only when you shake hands with the new HELLO command. Why use the new protocol? Because the old semantics are not enough. In addition, there are other features in RESP3, but the primary ability is to return complex data types directly from Redis, and the client is transparent about the conversion of data types.
The author argues that Redis needs an ACL because people need better control over which clients can do something in a larger environment. At the same time, another important point of adding ACLs to Redis is isolation to protect data from application errors. The Redis module interface is also available for ACLs, so developers can write custom authentication methods.
This feature is worth noting that the work was done entirely without antirez involvement, which shows the changes in the Redis development process. This may require a simple combination of the background: the most number of commits in Redis 6 is antirez, with 685, while the number of zhaozhao.zz commits in second place is 81.
Antirez has covered this feature in detail before, and we have relevant sharing: Redis 6 will adopt the new protocol RESP3 to provide client caching capabilities. When consumers need to store fast or quick fetch operations, they need to store a small amount of information in client memory, which reduces the latency of a program getting data.
But now antirez thinks this is the most immature feature of Redis 6 and he wants to improve it before The Redis 6 GA. A new pattern may be added that requires the server not to maintain the state of the client or not to maintain any state at all and to trade with more messages. Currently, some “cache slots” of out-of-date information cannot be combined separately, and antirez says more needs to be done about this feature in January.
Disque becomes a module
Disque aims to build a distributed in-memory message broker, previously an experimental feature that is now a module in Redis 6 that supports the cluster message bus API, which blocks and recovers clients, supports timers, and controls of the AOF and RDB for module private data.
In a Redis cluster, the client is very fragmented, and now a cluster proxy is introduced to abstract the Redis cluster for the client as if it were having a conversation with a single instance. Multiplex is performed at the same time when simple and the client uses only simple commands and functions.
Redis 6’s module API has reached a new level and is growing rapidly because Redis Labs uses the module system from scratch to develop very complex content, effectively turning Redis into a framework where the system can be written as a module without having to invent everything from scratch.
For more information, check out: