Using Jedis to Access an Instance

Access a DCS Redis instance through Jedis on an ECS in the same VPC. For more information on how to use other Redis clients, visit https://redis.io/clients.

The operations described in this section apply only to single-node, master/standby, and Proxy Cluster instances. To use Jedis to connect to a Redis Cluster instance, see https://github.com/xetorthio/jedis#jedis-cluster.

Prerequisites

  • The DCS Redis instance you want to access is in the Running state.
  • An ECS has been created to serve as your Redis client. For more information on how to create ECSs, see the Elastic Cloud Server User Guide.
  • If the ECS runs the Linux OS, ensure that the GCC compilation environment has been installed on the ECS.

Procedure

  1. View the IP address/domain name and port number of the DCS Redis instance to be accessed.

    For details, see Viewing Instance Details.

  2. Log in to the ECS.
  3. Connect to the single-node, master/standby, or Proxy Cluster DCS instance by using Jedis.

    1. Obtain the source code of the Jedis client from https://github.com/xetorthio/jedis.
    2. Write code.

      Use either of the following two methods to access a DCS Redis instance through Jedis:

      • Single Jedis connection
      • Jedis pool

      Example code:

      1. Example code for a single Jedis connection
        //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 indicates the example IP address/domain name of DCS instance and port indicates the port number of DCS instance. For details on how to obtain the IP address/domain name and port, see 1. Change the IP address and port as required. pwd indicates the password used for login to the chosen DCS Redis instance. This password is defined during DCS Redis instance creation.

      2. Example code for a Jedis pool
        //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 the 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 indicates the IP address/domain name of DCS instance and port indicates the port number of DCS instance. For details on how to obtain the IP address/domain name and port, see 1. Change the IP address and port as required. pwd indicates the password used for login to the chosen DCS Redis instance. This password is defined during DCS Redis instance creation.

    3. Compile code according to the readme file in the source code of the Jedis client. Run the Jedis client to access the chosen DCS Redis instance.

Video Guide

Watch the following video about accessing a DCS Redis instance.

Accessing a DCS Instance