Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-07 GMT+08:00

Jedis

Acceda a una instancia de DCS Redis a través de Jedis en un ECS en la misma VPC. Para obtener más información sobre cómo usar otros clientes de Redis, visite el sitio web oficial de Redis.

Prerrequisitos:

  • Se ha creado una instancia de DCS Redis y se encuentra en el estado Running.
  • Se ha creado un ECS. Para obtener más información sobre cómo crear un ECS, consulte Compra de ECS.
  • Si el ECS ejecuta el SO de Linux, asegúrese de que el entorno de compilación de Java se ha instalado en el ECS.

Procedimiento

  1. Vea la dirección IP/nombre de dominio y el número de puerto de la instancia de DCS Redis a la que se debe acceder.Para obtener más información, consulte Consulta de detalles de instancia.
  2. Inicie sesión en el ECS.
  3. Utilice Maven para agregar la siguiente dependencia al archivo pom.xml:

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>4.1.1</version>
    </dependency>

  4. Acceda a la instancia de DCS mediante Jedis.Obtener el código fuente del cliente Jedis. Utilice cualquiera de los dos métodos siguientes para acceder a una instancia de DCS Redis a través de Jedis:

    • Conexión Jedis única
    • Piscina de Jedis

    Código de ejemplo:

    1. Ejemplo de uso de Jedis para conectarse a una instancia de DCS Redis de nodo único, principal/en standby o de Clúster Proxy con una sola conexión
      //Creating a connection in password mode
       String host = "192.168.0.150"; 
       int port = 6379; 
       String pwd = "passwd"; 
       Jedis client = new Jedis(host, port); 
       client.auth(pwd);
       client.connect(); 
      //Run the SET command.
       String result = client.set("key-string", "Hello, Redis!"); 
       System.out.println( String.format("set command result:%s", result) );
      //Run the GET command.
       String value = client.get("key-string"); 
      System.out.println( String.format("get command result:%s", value) );
      
      //Creating a connection in password-free mode
       String host = "192.168.0.150"; 
       int port = 6379; 
       Jedis client = new Jedis(host, port); 
       client.connect(); 
      //Run the SET command.
       String result = client.set("key-string", "Hello, Redis!"); 
       System.out.println( String.format("set command result:%s", result) );
      //Run the GET command.
       String value = client.get("key-string"); 
       System.out.println( String.format("get command result:%s", value) );

      host indica la dirección IP de ejemplo/nombre de dominio de la instancia DCS y port indica el número de puerto de la instancia DCS. Para obtener más información sobre cómo obtener la dirección IP/nombre de dominio y el puerto, consulte 1. Cambie la dirección IP/dominio y el puerto según sea necesario. pwd indica la contraseña utilizada para iniciar sesión en la instancia de DCS Redis elegida. Esta contraseña se define durante la creación de una instancia de DCS Redis.

    2. Ejemplo de uso de Jedis para conectarse a una instancia de DCS Redis de nodo único, principal/en standby o de Clúster Proxy con agrupación de conexiones
      //Generate configuration information of a Jedis pool
       String ip = "192.168.0.150"; 
       int port = 6379; 
       String pwd = "passwd"; 
       GenericObjectPoolConfig config = new GenericObjectPoolConfig(); 
       config.setTestOnBorrow(false); 
       config.setTestOnReturn(false); 
       config.setMaxTotal(100); 
       config.setMaxIdle(100); 
       config.setMaxWaitMillis(2000); 
      JedisPool pool = new JedisPool(config, ip, port, 100000, pwd);//Generate a Jedis pool when the application is being initialized
      //Get a Jedis connection from the Jedis pool when a service operation occurs
       Jedis client = pool.getResource(); 
       try { 
           //Run commands
           String result = client.set("key-string", "Hello, Redis!"); 
           System.out.println( String.format("set command result:%s", result) ); 
           String value = client.get("key-string"); 
           System.out.println( String.format("get command result:%s", value) ); 
       } catch (Exception e) { 
           // TODO: handle exception
       } finally { 
           //Return the Jedis connection to the Jedis pool when the service operation is completed
           if (null != client) { 
               pool.returnResource(client); 
           } 
       } // end of try block
       //Destroy the Jedis pool when the application is closed
       pool.destroy();
      
      //Configure the connection pool in password-free mode
       String ip = "192.168.0.150"; 
       int port = 6379; 
       GenericObjectPoolConfig config = new GenericObjectPoolConfig(); 
       config.setTestOnBorrow(false); 
       config.setTestOnReturn(false); 
       config.setMaxTotal(100); 
       config.setMaxIdle(100); 
       config.setMaxWaitMillis(2000); 
       JedisPool pool = new JedisPool(config, ip, port, 100000);//Generate a JedisPool when the application is being initialized
       //Get a Jedis connection from the Jedis pool when a service operation occurs
       Jedis client = pool.getResource(); 
       try { 
           //Run commands
           String result = client.set("key-string", "Hello, Redis!"); 
           System.out.println( String.format("set command result:%s", result) ); 
           String value = client.get("key-string"); 
           System.out.println( String.format("get command result:%s", value) ); 
       } catch (Exception e) { 
           // TODO: handle exception
       } finally { 
           //Return the Jedis connection to the Jedis pool when the service operation is completed
           if (null != client) { 
               pool.returnResource(client); 
           } 
       } // end of try block
       //Destroy the Jedis pool when the application is closed
       pool.destroy();

      ip indica la dirección IP/nombre de dominio de la instancia DCS y port indica el número de puerto de la instancia DCS. Para obtener más información sobre cómo obtener la dirección IP/nombre de dominio y el puerto, consulte 1. Cambie la dirección IP/dominio y el puerto según sea necesario. pwd indica la contraseña utilizada para iniciar sesión en la instancia de DCS Redis elegida. Esta contraseña se define durante la creación de una instancia de DCS Redis.

    3. Código de ejemplo para conectarse al Clúster Redis mediante una conexión única
      • Con una contraseña
        //The following shows password-protected access.
        int port = 6379;
        String host = "192.168.144.37";
        //Create JedisCluster.
        Set<HostAndPort> nodes = new HashSet<HostAndPort>();
        nodes.add(new HostAndPort(host, port));
        JedisCluster cluster = new JedisCluster(nodes, 5000, 3000, 10, "password", new JedisPoolConfig());
        cluster.set("key", "value");
        System.out.println("Connected to RedisCluster:" + cluster.get("key"));
        cluster.close();
      • Sin contraseña
        int port = 6379;
        String host = "192.168.144.37";
        //Create JedisCluster.
        Set<HostAndPort> nodes = new HashSet<HostAndPort>();
        nodes.add(new HostAndPort(host, port));
        JedisCluster cluster = new JedisCluster(nodes);
        cluster.set("key", "value");
        System.out.println("Connected to RedisCluster:" + cluster.get("key"));
        cluster.close();

      host indica la dirección IP de ejemplo/nombre de dominio de la instancia DCS y port indica el número de puerto de la instancia DCS. Para obtener más información sobre cómo obtener la dirección IP/nombre de dominio y el puerto, consulte 1. Cambie la dirección IP/dominio y el puerto según sea necesario. contraseña indica la contraseña utilizada para iniciar sesión en la instancia de DCS Redis elegida. Esta contraseña se define durante la creación de una instancia de DCS Redis.

  5. Compilar código de acuerdo con el archivo readme en el código fuente del cliente Jedis. Ejecute el cliente Jedis para acceder a la instancia de DCS Redis elegida.