Jedis
Jedis简介
java连接redis服务的连接工具
同类:spring data redis、lettuce
Jedis入门
引入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
入门代码
public class JedisTest
{
@Test
public void testJedisHello(){
// 1.连接jedis
Jedis jedis = new Jedis("127.0.0.1", 6379);
// 2.操作jedis
// 2.1 插入值
jedis.set("testkey","hello world");
// 2.2 获取值并打印
String testkey = jedis.get("testkey");
System.out.println(testkey);
// 3.关闭连接
jedis.close();
}
}
运行控制台成功打印“hello world”
Jedis读写redis数据
jedis操作各类型数据
public class JedisTest
{
@Test
public void testJedisOpr(){
// 1.连接jedis
Jedis jedis = new Jedis("127.0.0.1", 6379);
// 2.操作list
jedis.lpush("testlist","v1","v2","v3");
jedis.rpush("testlist","r1");
List<String> testlist = jedis.lrange("testlist", 0, -1);
System.out.println("redis获取的list类型:" + testlist);
// 3.操作hash
jedis.hset("testhash","name","cxu");
jedis.hset("testhash","age","18");
Map<String, String> testhash = jedis.hgetAll("testhash");
System.out.println("redis获取的hash类型:" + testhash);
// 4.关闭连接
jedis.close();
}
}
控制台打印:
redis获取的list类型:[v3, v2, v1, r1]
redis获取的hash类型:{name=cxu, age=18}
总结:jedis操作方法和redis指令对应,如get命令对应get()方法
Jedis简易工具类
Jedis连接池
JedisPool:jedis提供的连接池技术
- poolConfig 连接池配置对象
- host 服务地址
- port 服务端口
#连接池构造方法
public JedisPool(GenericObjectPoolConfig poolConfig, String host, int port) {
this(poolConfig, host, port, 2000, (String)null, 0, (String)null);
}
样例:
public class JedisUtils {
private static final String HOST = "127.0.0.1";
private static final Integer PORT = 6379;
private static JedisPool jedisPool = null;
// 静态代码块 目的:只初始化一次
{
JedisPoolConfig jedisPoolConfig = getJedisPoolConfig();
jedisPool = new JedisPool(jedisPoolConfig, HOST, PORT);
}
public static Jedis getJedis(){
Jedis jedis = jedisPool.getResource();
return jedis;
}
private static JedisPoolConfig getJedisPoolConfig(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 最大连接数
jedisPoolConfig.setMaxTotal(10);
// 设置其他参数
// ......
return jedisPoolConfig;
}
}
可视化客户端
Another Redis Desktop Manager