pom配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<? xml version = "1.0" encoding = "UTF-8" ?>
< project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
< modelVersion >4.0.0</ modelVersion >
< groupId >redis</ groupId >
< artifactId >redis</ artifactId >
< version >1.0-SNAPSHOT</ version >
< properties >
< spring.version >5.0.2.RELEASE</ spring.version >
< maven.compiler.source >1.8</ maven.compiler.source >
< maven.compiler.target >1.8</ maven.compiler.target >
</ properties >
< dependencies >
< dependency >
< groupId >redis.clients</ groupId >
< artifactId >jedis</ artifactId >
< version >2.8.0</ version >
</ dependency >
< dependency >
< groupId >junit</ groupId >
< artifactId >junit</ artifactId >
< version >4.9</ version >
</ dependency >
<!-- https://mvnrepository.com/artifact/commons-pool/commons-pool -->
< dependency >
< groupId >commons-pool</ groupId >
< artifactId >commons-pool</ artifactId >
< version >1.6</ version >
</ dependency >
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis -->
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >2.0.3.RELEASE</ version >
</ dependency >
</ dependencies >
</ project >
|
创建db.properties文件
1
2
3
4
5
|
redis.host=bigdata-hpsk01.huadian.com
redis.port= 6379
redis.maxIdle= 10
redis.minIdle= 10
redis.maxTotal= 50
|
书写工具类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
package com.huadian.redisUntil;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public final class JedisPoolUntil {
private static String ADDR = "192.168.59.160" ;
//Redis的端口号
private static int PORT = 6379 ;
/* //可用连接实例的最大数目,默认值为8;
//如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
private static int MAX_ACTIVE = 1024;
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
private static int MAX_IDLE = 200;
//等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;
private static int MAX_WAIT = 10000;
private static int TIMEOUT = 10000;*//*
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
private static boolean TEST_ON_BORROW = true;*/
private static int MAXTOTAL=20;
private static int MINIDLE=10;
private static int MAXIDLE=15;
private static JedisPool jedisPool = null;
/**
* 初始化Redis连接池
*/
static {
try {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(MAXTOTAL);
config.setMaxIdle(MINIDLE);
config.setMinIdle(MAXIDLE);
jedisPool = new JedisPool(config, ADDR, PORT);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取Jedis实例
* @return
*/
public synchronized static Jedis getJedis() {
try {
if (jedisPool != null) {
Jedis resource = jedisPool.getResource();
return resource;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 释放jedis资源
* @param jedis
*/
public static void returnResource( final Jedis jedis) {
if (jedis != null ) {
jedisPool.returnResource(jedis);
}
}
}
|
书写测试类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
package com.huadian.jedis;
import com.huadian.redisUntil.JedisPoolUntil;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisDemo {
private Jedis jedis = null ;
/**
* 单连接
*/
@Test
public void jedisSingleConn(){
String host = "192.168.59.160" ;
int port = 6379 ;
Jedis jedis = new Jedis(host, port);
jedis.set( "name" , "张三" );
jedis.set( "age" , "18" );
String s = jedis.get( "name" );
String s1 = jedis.get( "age" );
System.out.println(s);
System.out.println(s1);
}
/**
* 连接池连接
*/
@Test
public void jedisPoolConn(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal( 20 );
jedisPoolConfig.setMinIdle( 10 );
jedisPoolConfig.setMaxIdle( 15 );
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "192.168.59.160" , 6379 );
Jedis jedis = jedisPool.getResource();
//取数据
String s = jedis.get( "name" );
String s1 = jedis.get( "age" );
System.out.println(s);
System.out.println(s1);
}
/**
* 连接池连接
* 工具类
*/
@Test
public void jedisPoolConn1(){
Jedis jedis1 = JedisPoolUntil.getJedis();
//取数据
String s = jedis1.get( "name" );
String s1 = jedis1.get( "age" );
System.out.println(s);
System.out.println(s1);
}
}
|
补充知识:JAVA使用Redis所需的MAVEN的POM文件
redis不仅可以通过命令行进行操作,同时redis也可以通过javaAPI进行操作,这是操作redis所需的依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version> 2.9 . 0 </version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version> 4.12 </version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version> 6.14 . 3 </version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version> 3.0 </version>
<configuration>
<source> 1.8 </source>
<target> 1.8 </target>
<encoding>UTF- 8 </encoding>
<!-- <verbal> true </verbal>-->
</configuration>
</plugin>
</plugins>
</build>
|
以上这篇使用java连接Redis,Maven管理操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_41934990/article/details/81612180