content: package org.jredis.ri.alphazero.bench;
  
  import java.util.concurrent.TimeUnit;
  
  import org.jredis.JRedis;
  import org.jredis.RedisException;
  import org.jredis.connector.ConnectionSpec;
  import org.jredis.ri.alphazero.JRedisClient;
  import org.jredis.ri.alphazero.connection.DefaultConnectionSpec;
  
  public class SimpleBenchJRedisClient {
  	public static void main(String[] args) {
  		try {
  			new SimpleBenchJRedisClient().run();
  		} catch (RedisException e) {
  			e.printStackTrace();
  		}
  	}
  
  	private void run() throws RedisException {
  		int database = 11;
  		ConnectionSpec connSpec = DefaultConnectionSpec.newSpec("localhost", 6379, database, "jredis".getBytes());
  		JRedis jredis = new JRedisClient(connSpec);
  		
  		byte[] key = "bench-jredis-pipeline-key".getBytes();
  		int iters = 100 * 1000;
  		
  		try {
  			cleandb(jredis);
  		} catch (Throwable e) {
  			e.printStackTrace();
  			return;
  		}
  		
  		for(;;){
  			Long counter = null;
  			long start = System.nanoTime();
  			for(int i=0;i<iters; i++){
  				counter = jredis.incr(key);
  			}
  			long delta_ns = System.nanoTime() - start;
  			long delta_ms = TimeUnit.MILLISECONDS.convert(delta_ns, TimeUnit.NANOSECONDS);
  			float opsrate = iters/delta_ms;
  			System.out.format("counter: %d  msec:%d ops/msecs:%f  [delta:%d]\n", counter, delta_ms, opsrate, delta_ns);
  		}
  	}
  
  	private void cleandb(JRedis jredis) throws RedisException {
  		jredis.flushdb();
  	}
  }
  