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();
}
複製代碼