安装redis:上网查,本文基于已经安装了redis。在java中对redis操作。
导入依赖:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
创建jedis工具类和连接池(连接池可以不用)
工具类:
package dt;//包名
import redis.clients.jedis.Jedis;
public class JedisUnit {
private String host="127.0.0.1"; //链接地址
private Integer port=6379;//链接端口号,默认6379
private Integer dataBase=0;//数据库号(0-16),默认为0
private String pasd;//密码,没有修改配置文件默认没有
public String getPasd() {
return pasd;
}
public void setPasd(String pasd) {
this.pasd = pasd;
}
private Jedis jedis;
public JedisUnit() {}
public JedisUnit(String host, Integer port, String pasd,Integer dataBase) {
this.host = host;
this.port = port;
this.pasd = pasd;
this.dataBase = dataBase;
}
public JedisUnit(String host, Integer port, Integer dataBase) {
this.host = host;
this.port = port;
this.dataBase = dataBase;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public Integer getPort() {
return port;
}
public void setPort(Integer port) {
this.port = port;
}
public Integer getDataBase() {
return dataBase;
}
public void setDataBase(Integer dataBase) {
this.dataBase = dataBase;
}
public Jedis connect(){
jedis = new Jedis(host,port);
jedis.auth(pasd);
jedis.select(dataBase);
return jedis;
}
public void close(){
if (jedis!=null)
jedis.close();
}
}
连接池工具类:
package dt;//包名
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisPoolFact {
private Integer maxTotle=8;//最多连接数,默认8
private Integer maxIdl=8;//最多连接数,默认8
private Integer waitting=1000;//等待时长默认1s
private JedisUnit jedisUnit;
public JedisPoolFact() {}
public JedisPoolFact(JedisUnit jedisUnit) {
this.jedisUnit = jedisUnit;
}
public JedisPoolFact(Integer maxTotle, Integer maxIdl, Integer waitting, JedisUnit jedisUnit) {
this.maxTotle = maxTotle;
this.maxIdl = maxIdl;
this.waitting = waitting;
this.jedisUnit = jedisUnit;
}
public Jedis jedisPoolConnect(){
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(maxIdl);
poolConfig.setMaxTotal(maxTotle);
poolConfig.setMinIdle(0);
poolConfig.setMaxWaitMillis(waitting);
JedisPool jedisPool = new JedisPool(poolConfig,jedisUnit.getHost(), jedisUnit.getPort(),1000,jedisUnit.getPasd());
return jedisPool.getResource();
}
}
测试类:
import dt.JedisPoolFact;
import dt.JedisUnit;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class JedisTest {
JedisUnit jedisUnit = new JedisUnit();
JedisPoolFact jedisPoolFact = new JedisPoolFact(jedisUnit);
@Test
public void test1(){
Jedis jedis = jedisPoolFact.jedisPoolConnect();//使用连接池
//Jedis jedis = jedisUnit.connect();//使用连接池
jedis.set("name","阿里妈妈");
System.out.println(jedis.get("name"));
jedisUnit.close();
}
}