Connectez-vous à une instance Tair (Redis OSS-compatible) avec redis-cli, du code ou Data Management (DMS).
Prérequis
Une liste d'autorisation IP est configurée pour l'instance.
Un mot de passe est défini pour l'instance. Si aucun mot de passe n'est configuré, consultez la rubrique Modifier ou réinitialiser le mot de passe.
Procédure
redis-cli
Cet exemple utilise redis-cli sur une instance Elastic Compute Service (ECS) Linux pour se connecter à une instance Tair (Redis OSS-compatible) située dans le même cloud privé virtuel (VPC).
Pour vous connecter via Internet, demandez un endpoint public.
-
Connectez-vous à l'instance ECS et exécutez les commandes suivantes pour télécharger, compiler et installer 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&&makeCet exemple utilise redis-cli 7.2.0. Vous pouvez installer une version différente. La compilation prend 2 à 3 minutes.
-
Exécutez la commande suivante pour vous connecter à l'instance :
src/redis-cli -h hostname -a password -p portParamètres :
hostname : l'endpoint de l'instance. Dans la section Connection Information de la page des détails de l'instance, repérez l'endpoint VPC, par exemple
r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com. Pour plus d'informations, consultez la rubrique Afficher les endpoints.password : le mot de passe de l'instance.
port : le numéro de port. Valeur par défaut : 6379.
Exemple de commande :
src/redis-cli -h r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com -a TestPassword123 -p 6379 -
Écrivez et lisez des données.
-
Exécutez la commande
SET bar foo.Sortie attendue :
OK. -
Exécutez la commande
GET bar.Sortie attendue :
"foo".
-
Code
Pour vous connecter via Internet, demandez un endpoint public.
Cet exemple utilise le client Jedis . Pour les autres types de clients, reportez-vous à la rubrique Exemples de code de connexion avec des types de clients courants.
-
Ajoutez les dépendances requises au fichier 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> -
Modifiez les paramètres de connexion selon les commentaires.
@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; } } -
Testez la connectivité.
@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"); } } }Si la connexion réussit, la sortie est la suivante :
Connection successful: hello world!
DMS
Connectez-vous à la console et accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve l'instance à gérer. Repérez ensuite l'instance et cliquez sur son ID.
Dans le coin supérieur droit de la page des détails de l'instance, cliquez sur Log into Database.
-
Dans la boîte de dialogue Log on to Database Instance, définissez le paramètre Access mode sur password login et saisissez un mot de passe.
Ce mode utilise le compte par défaut. Consultez les détails du compte sur la page Account Management de la console.
Cliquez sur Login.
-
Écrivez et lisez des données.
-
Sur la page SQLConsole, saisissez la commande
SET foo helloet cliquez sur Execute(F8).Sortie attendue :
OK. -
Saisissez la commande
GET fooet cliquez sur Execute(F8).Sortie attendue :
hello.
-
Références
Pour plus d'informations, consultez les rubriques suivantes :
Méthodes de connexion spéciales
Activer les connexions chiffrées TLS (SSL) vers une instance : Le chiffrement TLS améliore la sécurité du lien de transport et garantit l'intégrité des données.
Utiliser le mode de connexion directe pour se connecter à une instance en cluster : Si votre instance est une instance en cluster en mode de connexion directe, vous pouvez utiliser l'endpoint privé pour contourner les nœuds proxy et accéder directement aux shards de données backend. Cette connexion aux instances en cluster est similaire à la connexion aux clusters Redis open source. Par rapport au mode proxy, le mode de connexion directe réduit le temps de réponse car les requêtes n'ont pas besoin de passer par les nœuds proxy.
Se connecter en utilisant le mode compatible avec Sentinel : Tair (Redis OSS-compatible) propose un mode compatible avec Sentinel. Après avoir activé ce mode, les instances peuvent être connectées depuis le client de la même manière que le Sentinel Redis natif.
Erreurs courantes et dépannage
|
Message d'erreur |
Cause et solution |
|
|
La liste d'autorisation est mal configurée.
Exécutez |
|
|
|
|
|
|
|
Mot de passe invalide. Le format requis varie selon le type de compte.
Remarque
|