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
- View the IP address/domain name and port number of the DCS Redis instance to be accessed.
For details, see Viewing Instance Details.
- Log in to the ECS.
- Connect to the single-node, master/standby, or Proxy Cluster DCS instance by using Jedis.
- Obtain the source code of the Jedis client from https://github.com/xetorthio/jedis.
- Write code.
Use either of the following two methods to access a DCS Redis instance through Jedis:
- Single Jedis connection
- Jedis pool
Example code:
- 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.
- 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.
- 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.
Last Article: Access Using redis-cli
Next Article: Using phpredis to Access an Instance
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.