code: public IRedisClient getRedisClient(final String host, final int port, final String username,
              final String password, final PoolConfig poolConfig) {
          String poolName = calcRedisPoolName(host, port, username, password, poolConfig);
  
          try {
              JedisClientPool redisClientPool = cacheRedisClientPools.get(poolName,
                      new Callable<JedisClientPool>() {
                          @Override
                          public JedisClientPool call() throws Exception {
                              return createRedisClientPool(host, port, username, password, poolConfig);
                          }
                      });
              return redisClientPool.borrowObject();
          } catch (Exception e) {
              LOGGER.error(e.getMessage(), e);
              return null;
          }
      }
docs: Gets or Creates a {@link IRedisClient} object.
  
  @param host
  @param port
  @param username
  @param password
  @param poolConfig
  @return