Jedis
Jedis 是 Redis 官方推荐的 Java 连接开发工具。
1.1 环境准备
Maven 依赖包
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
1.2 开放redis 服务端口(不推荐关闭防火墙,开放端需要重启防火墙)
CentOS 7:firewall-cmd --add-port=6379/tcp
关闭端口
CentOS 7:firewall-cmd --remove-port=6379/tcp
1.3 案例
Jedis
public class jedis {
public static void main(String[] args) {
JedisShardInfo jedisShardInfo = new JedisShardInfo("192.168.2.145","6379");
jedisShardInfo.setPassword("root");
Jedis jedis = jedisShardInfo.createResource();
jedis.set("user","zhangs");
jedis.close();
}
}
Jedis 事务
public class transaction {
public static void main(String[] args) {
JedisShardInfo jedisShardInfo = new JedisShardInfo("192.168.2.145","6379");
jedisShardInfo.setPassword("root");
Jedis jedis = jedisShardInfo.createResource();
Transaction transaction = jedis.multi();
transaction.select(6);
transaction.set("user3","12");
int i = 9/0;
transaction.set("user4","13");
transaction.discard();
transaction.exec();
}
}
Jedis连接池
private JedisPoolUtil() {
}
public static JedisPool getJedisPoolInstance() {
if (null == jedisPool) {
synchronized (JedisPoolUtil.class) {
if (null == jedisPool) {
JedisPoolConfig poolConfig = new JedisPoolConfig();
// 控制一个 pool 最多有多少个状态为 idle(空闲)的 jedis 实例
poolConfig.setMaxIdle(32);
// 表示当 borrow 一个 jedis 实例时,最大的等待时间,如果超过等待时间,则直接抛JedisConnectionException
poolConfig.setMaxWaitMillis(1000);
// 获得一个 jedis 实例的时候是否检查连接可用性(ping());如果为 true,则得到的 jedis 实例均是可用的
poolConfig.setTestOnBorrow(true);
jedisPool = new JedisPool(poolConfig, "192.168.64.129", 6379, 2000,
"123456");
}
}
}
return jedisPool;
}