
# 如何解决Lettuce 6.x版本客户端使用DCS实例兼容性问题？
#### 问题现象
使用Lettuce 6.x版本客户端，连接DCS的Redis Proxy（4.x/5.x）集群，会报错"NOAUTH Authentication required"。
图1报错示例   
![](https://support.huaweicloud.com/dcs_faq/zh-cn_image_0000001200160792.png "点击放大")
#### 问题分析
Lettuce 6.x版本开始，使用RESP3（Redis 6.x引入）的HELLO命令进行版本自适应判断，但是对于不支持HELLO命令的低版本实例，兼容性存在一定问题。所以对于低版本的实例，建议直接在Lettuce中指定使用RESP2协议（兼容Redis 4/5）的版本来使用。
#### 解决方案
添加一段代码，指定RESP2协议访问Redis即可解决：
```
package com.chinaroad.parking.config;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.protocol.ProtocolVersion;
import org.springframework.boot.autoconfigure.data.redis.LettuceClientConfigurationBuilderCustomizer;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
@Configuration
public class SpringConfig implements LettuceClientConfigurationBuilderCustomizer {
    @Override
    public void customize(LettuceClientConfiguration.LettuceClientConfigurationBuilder clientConfigurationBuilder) {
        // manually specifying RESP2 
        clientConfigurationBuilder.clientOptions(ClientOptions.builder()
                .protocolVersion(ProtocolVersion.RESP2)
                .build());
    }
}
```
