Jedis
Jedis 简单示例
Jedis 简介
示例代码
Maven 依赖:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
测试代码:
// 连接Redis
Jedis jedis = new Jedis("localhost", 6379);
// 操作Redis
jedis.set("name", "xiaoming");
String name = jedis.get("name");
System.out.println(name);
jedis.rpush("list1", "v1", "v2", "v3");
List<String> list = jedis.lrange("list1", 0, -1);
list.forEach(value -> {
System.out.println(value);
});
// 关闭Redis
jedis.close();
Jedis 工具类封装
前面的示例程序还是有点儿小问题,就是 Jedis 对象的管理是我们自己创建的,真实企业开发中是不可能让你去 new 一个的,因此接下来就要做一个工具类。简单来说,就是做一个创建 Jedis 的这样的一个工具。
基于连接池获取连接
- JedisPool:Jedis 提供的连接池技术
- poolConfig:连接池配置对象
- host:redis 服务地址
- port:redis 服务端口号
// JedisPool 构造方法:
public JedisPool(GenericObjectPoolConfig poolConfig, String host, int port) {
this(poolConfig, host, port, 2000, (String)null, 0, (String)null);
}
配置文件
创建 jedis 的配置文件:jedis.properties
jedis.host=127.0.0.1
jedis.port=6379
jedis.maxTotal=50
jedis.maxIdle=10
工具类
创建 JedisUtils 工具类,使用静态代码块初始化资源:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.ResourceBundle;
public class JedisUtil {
private static int maxTotal;
private static int maxIdel;
private static String host;
private static int port;
private static JedisPoolConfig jpc;
private static JedisPool jp;
static {
// 加载配置文件,获取连接信息
ResourceBundle bundle = ResourceBundle.getBundle("jedis");
host = bundle.getString("jedis.host");
port = Integer.parseInt(bundle.getString("jedis.port"));
maxTotal = Integer.parseInt(bundle.getString("jedis.maxTotal"));
maxIdel = Integer.parseInt(bundle.getString("jedis.maxIdle"));
// Jedis连接池配置
jpc = new JedisPoolConfig();
jpc.setMaxTotal(maxTotal);
jpc.setMaxIdle(maxIdel);
jp = new JedisPool(jpc, host, port);
}
// 对外提供jedis连接对象,连接从连接池获取
public static Jedis getJedis() {
Jedis jedis = jp.getResource();
return jedis;
}
}
测试代码:
import redis.clients.jedis.Jedis;
public class Demo {
public static void main(String[] args) {
Jedis jedis = JedisUtil.getJedis();
System.out.println(jedis);
}
}
可视化客户端
Redis Desktop Manager: