微信公众号:爱问CTO
专业编程问答社区
www.askcto.com
jedis介绍
Redis不仅使用命令来操作,而且可以使用程序客户端操作。现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Go等
在官方网站里列一些Java的客户端, 在企业中用的最多的就是Jedis。
基本使用
public class JedisTest {
@Test
public void testJedis() {
// 创建一个Jedis的连接
Jedis jedis = new Jedis("192.168.232.128", 6379);
// 执 行redis命令
jedis.set("k1", "jedis");
// 从redis中取值
String result = jedis.get("k1");
// 打印结果
System.out.println(result);
// 关闭连接
jedis.close();
}
}
运行之后 查看结果:
jedis
在Jedis对象构建好之后,Jedis底层会打开一条Socket通道和Redis服务进行连接
非常频繁的创建和销毁Jedis对象,对性能是存在很大影响的。
连接池的使用
@Test
public void testJedisPool() {
JedisPoolConfig config = new JedisPoolConfig();
//控制一个pool最多有多少个状态为idle(空闲)的jedis实例
config.setMaxIdle(8);
//最大连接数
config.setMaxTotal(18);
//创建一连接池对象
JedisPool jedisPool = new JedisPool(config,"192.168.232.128", 6379);
//从连接池中获得连接
Jedis jedis = jedisPool.getResource();
String result = jedis.get("k1") ;
System.out.println(result);
//关闭连接
jedis.close();
//关闭连接池
jedisPool.close();
}
运行之后 查看结果:
jedis
Jedis连接集群
@Test
public void testJedisCluster() {
// 创建JedisCluster对象
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.232.128", 7001));
nodes.add(new HostAndPort("192.168.232.128", 7002));
nodes.add(new HostAndPort("192.168.232.128", 7003));
nodes.add(new HostAndPort("192.168.232.128", 7004));
nodes.add(new HostAndPort("192.168.232.128", 7005));
nodes.add(new HostAndPort("192.168.232.128", 7006));
JedisCluster cluster = new JedisCluster(nodes);
// 通过cluster对象的api方法,进行redis集群的添加和查询操作
cluster.set("c1", "jedisCluster");
System.out.println(cluster.get("c1"));
// 释放资源
cluster.close();
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。