Redis不只使用命令来操做,并且能够使用程序客户端操做。如今基本上主流的语言都有客户端支持,好比java、C、C#、C++、php、Go等
在官方网站里列一些Java的客户端, 在企业中用的最多的就是Jedis。java
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();
}
}
复制代码
运行以后 查看结果:node
jedis
复制代码
在Jedis对象构建好以后,Jedis底层会打开一条Socket通道和Redis服务进行链接
很是频繁的建立和销毁Jedis对象,对性能是存在很大影响的。nginx
@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
复制代码
@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();
}
复制代码