Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Etapa 3: Conectar a uma instância

Última atualização: Jun 26, 2026

Conecte-se a uma instância do Tair (Redis OSS-compatible) usando o redis-cli, código ou o Data Management (DMS).

Pré-requisitos

Procedimento

redis-cli

Este exemplo utiliza o redis-cli em uma instância do Linux Elastic Compute Service (ECS) para se conectar a uma instância do Tair (Redis OSS-compatible) na mesma VPC.

Nota

Para se conectar pela Internet, solicite um endpoint público.

  1. Faça logon na instância ECS e execute os seguintes comandos para baixar, compilar e instalar o redis-cli:

    sudo yum -y install gcc            # Install GNU Compiler Collection (GCC).
    wget https://download.redis.io/releases/redis-7.2.0.tar.gz
    tar xzf redis-7.2.0.tar.gz
    cd redis-7.2.0&&make

    Este exemplo usa o redis-cli 7.2.0. Você pode instalar uma versão diferente. A compilação leva de 2 a 3 minutos.

  2. Execute o seguinte comando para se conectar à instância:

    src/redis-cli -h hostname -a password -p port

    Parâmetros:

    • hostname: o endpoint da instância. Na seção Connection Information da página de detalhes da instância, localize o endpoint da VPC, por exemplo, r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com. Para mais informações, consulte Visualizar endpoints.

    • password: a senha da instância.

    • port: o número da porta. Padrão: 6379.

    Comando de exemplo:

    src/redis-cli -h r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com -a TestPassword123 -p 6379
  3. Grave e leia dados.

    1. Execute o comando SET bar foo.

      Saída esperada:OK.

    2. Execute o comando GET bar.

      Saída esperada:"foo".

Código

Nota

Para se conectar pela Internet, solicite um endpoint público.

Este exemplo utiliza o cliente Jedis . Para outros tipos de clientes, consulte Exemplos de código de conexão com tipos comuns de clientes.

  1. Adicione as dependências necessárias ao pom.xml.

    <!-- Import spring-data-redis -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
        <!-- Since Spring Boot 2.0, Lettuce is the default client. Exclude lettuce when using Jedis. -->
        <exclusions>
            <exclusion>
                <groupId>io.lettuce</groupId>
                <artifactId>lettuce-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- Import jedis -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
    </dependency>
  2. Modifique os parâmetros de conexão com base nos comentários.

    @Configuration
    public class RedisConfig {
        
        @Bean
        JedisConnectionFactory redisConnectionFactory() {
            // This example is used only to test connectivity. In production environments, we recommend that you place connection information in a configuration file and retrieve it using the @Value annotation.
            // The endpoint (hostName) and port (port) can be obtained from the Connection Information section of the instance details page. Select a VPC endpoint or public endpoint based on your client network environment.
            RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com", 6379);
            // Specify the password in the username:password format. For example, if the username is testaccount and the password is Rp829dlwa, enter testaccount:Rp829dlwa as the password.
            // If you forget your username or password, you can reset the password or create a new account by clicking Account Management in the left-side navigation pane of the instance details page.
            config.setPassword(RedisPassword.of("Username:Password"));
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            // Specify the maximum number of connections based on your business requirements. This value cannot exceed the maximum number of connections supported by the instance.
            jedisPoolConfig.setMaxTotal(30);
            // Specify the maximum number of idle connections based on your business requirements. This value cannot exceed the maximum number of connections supported by the instance.
            jedisPoolConfig.setMaxIdle(20);
            // Disable testOn[Borrow|Return] to prevent additional PING commands from being generated.
            jedisPoolConfig.setTestOnBorrow(false);
            jedisPoolConfig.setTestOnReturn(false);
    
            JedisClientConfiguration jedisClientConfiguration = JedisClientConfiguration.builder().usePooling().poolConfig(
                    jedisPoolConfig).build();
    
            return new JedisConnectionFactory(config, jedisClientConfiguration);
        }
        @Bean
        public RedisTemplate<String, Object> redisTemplate() {
            RedisTemplate<String, Object> template = new RedisTemplate<>();
            template.setConnectionFactory(redisConnectionFactory());
            template.setKeySerializer(new StringRedisSerializer());
            template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
            return template;
        }
    }
  3. Teste a conectividade.

    @SpringBootTest
    public class RedisTest {
        @Autowired
        private RedisTemplate<String, Object> redisTemplate;
    
        @Test
        void test() {
            try {
                redisTemplate.opsForValue().set("test_key", "hello world!");
                System.out.println("Connection successful:"+redisTemplate.opsForValue().get("test_key"));
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("An exception occurred during the connection attempt. Refer to the documentation " +
                        "https://www.alibabacloud.com/help/en/redis/support/how-do-i-troubleshoot-connection-issues-in-apsaradb-for-redis?spm=a2c63.p38356.help-menu-26340.d_5_1_1_4.47ca2024nvxRlS" +
                        "to troubleshoot network, whitelist, and account/password issues." +
                        "You can also refer to the documentation based on the error message: https://www.alibabacloud.com/help/en/redis/support/common-errors-and-troubleshooting?spm=a2c63.p38356.help-menu-26340.d_5_0.77cc79fejApYJN");
            }
    
        }
    }

    Se a conexão for bem-sucedida, a saída será:

    Connection successful: hello world!

DMS

  1. Faça logon no console e acesse a página Instances. Na barra de navegação superior, selecione a região onde reside a instância que você deseja gerenciar. Em seguida, localize a instância e clique no ID da instância.

  2. No canto superior direito da página de detalhes da instância, clique em Log into Database.

  3. Na caixa de diálogo Log on to Database Instance, defina o Access mode como password login e insira uma senha.

    Este modo utiliza a conta padrão. Visualize os detalhes da conta na página Account Management no console.

  4. Clique em Login.

  5. Grave e leia dados.

    1. Na página SQLConsole, insira o comando SET foo hello e clique em Execute(F8).

      Saída esperada:OK.

    2. Insira o comando GET foo e clique em Execute(F8).

      Saída esperada:hello.

Referências

Para mais informações, consulte os seguintes tópicos:

Métodos de conexão especiais

  • Ative conexões criptografadas por TLS (SSL) para uma instância: A criptografia TLS melhora a segurança do link de transporte e garante a integridade dos dados.

  • Usar o modo de conexão direta para se conectar a uma instância cluster: Se a sua instância for uma instância cluster no modo de conexão direta, você pode usar o endpoint privado para contornar os nós de proxy e acessar diretamente os shards de dados de backend. Essa conexão com instâncias cluster é semelhante à conexão com clusters Redis de código aberto. Em comparação com o modo de proxy, o modo de conexão direta reduz o tempo de resposta, pois as solicitações não precisam passar pelos nós de proxy.

  • Conectar usando o modo compatível com Sentinel: O Tair (Redis OSS-compatible) fornece o modo compatível com Sentinel. Após ativar este modo, as instâncias podem ser conectadas a partir do cliente da mesma forma que o Redis Sentinel nativo.

Erros comuns e solução de problemas

Mensagem de erro

Causa e solução

(error) ERR illegal address

A lista de permissões está configurada incorretamente.

  1. Verifique se o endereço IP do seu cliente foi adicionado a uma lista de permissões da instância. Para mais informações, consulte Etapa 2: Configure listas de permissões.

  2. Verifique o endpoint da instância. Use o endpoint público para conexões com a Internet.

  3. Verifique se a sua instância ECS está na mesma VPC que a instância Tair (Redis OSS-compatible). Caso contrário, conecte-se pela Internet.

Execute ping <Endpoint da instância> para verificar a conectividade. Exemplo: ping r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com.

(error) ERR client ip is not in whitelist

Could not connect to Redis

  • (error) ERR invalid password

  • (error) WRONGPASS invalid username-password pair

Senha inválida. O formato necessário varia de acordo com o tipo de conta.

  • Se você usar a conta padrão, insira a senha. Por exemplo, se o nome de usuário da conta padrão for r-bp1zxszhcgatnx**** e a senha for Password21, o comando usado para verificar a senha é AUTH Password21.

  • Se você usar uma conta personalizada, insira a senha no formato user:password. Por exemplo, se o nome de usuário da conta personalizada for testaccount e a senha for Rp829dlwa, o comando usado para verificar a senha é AUTH testaccount:Rp829dlwa.

Nota
  • Ao usar uma ferramenta de terceiros, como o RDM, insira a senha no formato user:password e deixe o campo username vazio. Caso contrário, a conexão com a instância falhará.

  • Se você esquecer sua senha, poderá redefini-la. Para mais informações, consulte Alterar ou redefinir a senha.