1. Jedis
Jedis
是Redis官方推荐的java开发连接工具。
一、基本使用
1. 创建maven项目, 具体操作步骤省略
2. 添加jedis
maven依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.2</version>
</dependency>
3. 创建Jedis对象
// 1. 使用host和port参数创建Jedis对象
Jedis jedis = new Jedis("localhost", 6379);
4. 使用Redis命令对应的方法操作Redis, 如对于Redis Connection组命令:
// 2. Redis Connection组命令测试
// jedis.auth("password"); //如果服务器需要密码, 验证密码
String ping = jedis.ping();
String echo = jedis.echo("hello world.");
String select = jedis.select(0);
LOGGER.info("ping:{} echo:{} select:{}", ping, echo, select);
5. 关闭连接
// 4. 关闭连接
jedis.close();
6. 全部代码与输出结果
main方法:
public class JedisStartApp {
public static final Logger LOGGER = LoggerFactory.getLogger(JedisStartApp.class);
public static void main(String[] args){
// 1. 使用host和port参数创建Jedis对象
Jedis jedis = new Jedis("localhost", 6379);
// 2. Redis Connection组命令测试
// jedis.auth("password"); //如果服务器需要密码, 验证密码
String ping = jedis.ping();
String echo = jedis.echo("hello world.");
String select = jedis.select(0);
LOGGER.info("ping:{} echo:{} select:{}", ping, echo, select);
// 3. Redis Keys命令测试
Set<String> keys = jedis.keys("*");
for (String key : keys) {
String value = jedis.get(key);
LOGGER.info("redis key:{} value:{}", key, value);
}
// 4. 关闭连接
jedis.close();
}
}
输出结果:
Connected to the target VM, address: '127.0.0.1:53251', transport: 'socket'
19:37:18.185 [main] INFO samples.cache.jedis.JedisStartApp - ping:PONG echo:hello world. select:OK
Disconnected from the target VM, address: '127.0.0.1:53251', transport: 'socket'
19:37:18.204 [main] INFO samples.cache.jedis.JedisStartApp - redis key:db_number value:0
二、使用连接池
Jedis连接池基于apache-commons pool2实现。
使用连接池流程也不复杂,如下示例:
public class JedisPoolStartApp {
public static final Logger LOGGER = LoggerFactory.getLogger(JedisPoolStartApp.class);
public static void main(String[] args) {
// 1. 创建连接池配置对象
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(8);
jedisPoolConfig.setMaxIdle(8);
// 2. 创建连接池对象
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379);
// 3. 从连接池中获取一个Jedis对象
Jedis jedis = jedisPool.getResource();
// 4. 使用与Redis命令相应的Jedis方法操作Redis
Set<String> keys = jedis.keys("*");
for (String key : keys) {
LOGGER.info("key:{} value:{}", key, jedis.get(key));
}
// 5. 把连接归还到连接池
jedis.close();
// 6. 释放连接池对象
jedisPool.close();
}
}
整个过程分几个步骤:
- 创建连接池配置
JedisPollConfig
对象 - 创建连接池对象JedisPool
- 从连接池中获取一个Jedis对象
- 使用与Redis命令相应的Jedis方法操作Redis
- 把连接对象归还到连接池
- 关闭连接池