Jedis的學習

微信公衆號:51碼農網
51碼農網,讓程序員堅持學習變得可能
網站:www.51manong.comphp

jedis介紹

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
複製代碼

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();
    }
複製代碼
相關文章
相關標籤/搜索