备忘:(本机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
|
}
|