备忘:(本机i5的测试数据:redis线程执行时间是:21187 ms)
01 | public class Demo2 { |
02 | |
03 | private static JedisPool pool; |
04 | |
05 | static { |
06 | JedisPoolConfig config = new JedisPoolConfig(); |
07 | config.setMaxActive( 100 ); |
08 | config.setMaxIdle( 20 ); |
09 | config.setMaxWait( 1000 ); |
10 | config.setTestOnBorrow( true ); |
11 | |
12 | pool = new JedisPool(config, "localhost" ); |
13 | } |
14 |
15 | public static void main(String[] args) { |
16 | Demo2 demo = new Demo2(); |
17 | demo.test(); |
18 | } |
19 |
20 | public void test() { |
21 | initInsert(); |
22 | testThread(); |
23 | } |
24 | |
25 | private void initInsert() { |
26 | Jedis jedis = pool.getResource(); |
27 | for ( int i= 0 ; i< 20000 ; i++) |
28 | jedis.set(String.valueOf(i), String.valueOf(i)); |
29 | pool.returnResource(jedis); |
30 | } |
31 | |
32 | private void testThread() { |
33 | long begin = System.currentTimeMillis(); |
34 | |
35 | Thread thread[] = new Thread[ 60 ]; |
36 | for ( int i= 0 ; i<thread.length; i++) { |
37 | thread[i] = new MyThread(); |
38 | thread[i].start(); |
39 | } |
40 | |
41 | for ( int i= 0 ; i<thread.length; i++) { |
42 | try { |
43 | thread[i].join(); |
44 | } catch (InterruptedException e) { |
45 | e.printStackTrace(); |
46 | } |
47 | } |
48 | |
49 | long end = System.currentTimeMillis(); |
50 | System.out.println( "线程执行时间是:" + (end - begin) + " ms" ); |
51 | } |
52 | |
53 | class MyThread extends Thread { |
54 | @Override |
55 | public void run() { |
56 | Jedis jedis = Demo2.pool.getResource(); |
57 | for ( int i= 0 ; i< 20000 ; i++) |
58 | jedis.get(String.valueOf(i)); |
59 | Demo2.pool.returnResource(jedis); |
60 | } |
61 | } |
62 | } |