DCS Redis Help Documentation

New Features of Redis 6.0

2024-05-25 02:01:58

SSL is supported.

  SSL is supported by Redis starting with version 6.0 as an optional feature that transmits encrypted data for greater security, but it may lead to performance loss.

Official Reference: https://redis.io/docs/management/security/encryption/

Permission Control for ACLs

Official Reference: https://redis.io/docs/management/security/acl/

The Redis ACL, short for Access Control List, is the feature that allows certain connections to be limited in terms of the commands that can be executed and the keys that can be accessed. The way it works is that, after connecting, a client is required to provide a username and a valid password to authenticate. If authentication succeeded, the connection is associated with a given user and the limits the user has. This feature effectively improves security.

RESP3 Protocol

Official Reference: https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md

  Redis Serialization Protocol (RESP) is used for communication between Redis servers and clients.

  RESP3 is an updated version of RESP v2, which is the protocol used in Redis starting with roughly version 2.0 (1.2 already supported it, but Redis 2.0 was the first version to use only this protocol).

RESP 2 has the following flaws.

One of the most obvious is the fact that it does not have enough semantic power to express data structures. For instance, the Redis commands LRANGE, SMEMBERS and HGETALL will all reply an array, called in RESP v2 terms a multi bulk reply. However, the three commands actually return an array, a set and a map.

Similarly, RESP lacks important data types: floating point numbers and boolean values are returned respectively as strings and integers. Null values had a double representation, called null bulk and null multi bulk, which is useless, since the semantic value of telling apart null arrays from null strings is non-existent.

Finally, there is no way to return binary safe errors. When implementing generic APIs producing the protocol, implementations must check and remove potential newlines from the error string.

RESP 3 supports more data types to enhance the expressibility and intelligibility of the protocol.

Client Side Caching

Official Reference: https://redis.io/docs/manual/client-side-caching/

The Redis client caching has been redesigned in some aspects. You can run commands on the client to enable caching. After caching is enabled, the server remembers the key of the client for connection query. At the same time, the client needs to subscribe to internal topics. If the key queried by the client changes, the client will receive a message. Since the client can detect the change of the key, the client can directly cache the value of the key in the local memory without worrying about key invalidation.

Threaded I/O

  Redis 6 supports threaded I/O, which is only used for network data read/write and protocol parsing, and single threading is still used to run commands. This improves overall performance.


9ANduBxH2o5F