亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Redis客戶端使用

系統(tǒng) 3240 0

http://wenku.baidu.com/view/6ccd650af12d2af90242e63d.html

一、下載jedis 代碼

jedis 代碼地址: https://github.com/xetorthio/jedis

再次感受到開源的強(qiáng)大。呵呵,大家有時(shí)間可以看看源碼。

二、項(xiàng)目中如何使用Jedis使用

現(xiàn)在大家都喜歡用maven作為項(xiàng)目管理利器,那我只說明一下Maven如何使用jedis,只需要添加以下依賴就可以。

      
        <
      
      
        dependency
      
      
        >
      
      
        <
      
      
        groupId
      
      
        >
      
      redis.clients
      
        </
      
      
        groupId
      
      
        >
      
      
        <
      
      
        artifactId
      
      
        >
      
      jedis
      
        </
      
      
        artifactId
      
      
        >
      
      
        <
      
      
        version
      
      
        >
      
      2.1.0
      
        </
      
      
        version
      
      
        >
      
      
        </
      
      
        dependency
      
      
        >
      
    

?

OK, 用maven管理jar包依賴真的很方便。建議大家都采用maven管理項(xiàng)目。

三、建立一個(gè)簡單的連接

?

      
        public
      
      
        class
      
       JedisUtil {



    
      
        public
      
      
        static
      
       Jedis createJedis() {

        Jedis jedis = 
      
        new
      
       Jedis(
      
        "127.0.0.1"
      
      );

        
      
        return
      
       jedis;

    }



    
      
        public
      
      
        static
      
       Jedis createJedis(String host, 
      
        int
      
       port) {

        Jedis jedis = 
      
        new
      
       Jedis(host, port);



        
      
        return
      
       jedis;

    }



    
      
        public
      
      
        static
      
       Jedis createJedis(String host, 
      
        int
      
       port, String passwrod) {

        Jedis jedis = 
      
        new
      
       Jedis(host, port);



        
      
        if
      
       (!StringUtils.isNotBlank(passwrod))

            jedis.auth(passwrod);

        

        
      
        return
      
       jedis;

    }

}
    
      ?
    
      
        創(chuàng)建一個(gè)簡單Jedis對象就是這樣,告訴它的IP地址和端口號就可以,如果redis有密碼,那需要在建立連接時(shí),需要調(diào)用auth方法設(shè)置密碼。
      
    
      
        當(dāng)然,簡單連接不適合真實(shí)的環(huán)境使用,需要有連接池支持 。
      
    
      ?
    

四、建立Jedis連接池

?

創(chuàng)建連接jedis 連接池,jedis 提供JedisPool對象,使用比較方便。jedis pool 是基于apache common pool 實(shí)現(xiàn)。

      package cn.opensv.example.redis;



import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;




      
        public
      
      
        class
      
       JedisPoolUtils {



    
      
        private
      
      
        static
      
       JedisPool pool;



    
      
        /**
      
      
             * 建立連接池 真實(shí)環(huán)境,一般把配置參數(shù)缺抽取出來。
      
      
             * 
      
      
             */
      
      
        private
      
      
        static
      
      
        void
      
       createJedisPool() {



        
      
        // 建立連接池配置參數(shù)
      
      

        JedisPoolConfig config = 
      
        new
      
       JedisPoolConfig();



        
      
        // 設(shè)置最大連接數(shù)
      
      

        config.setMaxActive(100);



        
      
        // 設(shè)置最大阻塞時(shí)間,記住是毫秒數(shù)milliseconds
      
      

        config.setMaxWait(1000);



        
      
        // 設(shè)置空間連接
      
      

        config.setMaxIdle(10);



        
      
        // 創(chuàng)建連接池
      
      

        pool = 
      
        new
      
       JedisPool(config, 
      
        "127.0.0.1"
      
      , 6379);



    }



    
      
        /**
      
      
             * 在多線程環(huán)境同步初始化
      
      
             */
      
      
        private
      
      
        static
      
       synchronized 
      
        void
      
       poolInit() {

        
      
        if
      
       (pool == 
      
        null
      
      )

            createJedisPool();

    }



    
      
        /**
      
      
             * 獲取一個(gè)jedis 對象
      
      
             * 
      
      
             * @return
      
      
             */
      
      
        public
      
      
        static
      
       Jedis getJedis() {



        
      
        if
      
       (pool == 
      
        null
      
      )

            poolInit();

        
      
        return
      
       pool.getResource();

    }



    
      
        /**
      
      
             * 歸還一個(gè)連接
      
      
             * 
      
      
             * @param jedis
      
      
             */
      
      
        public
      
      
        static
      
      
        void
      
       returnRes(Jedis jedis) {

        pool.returnResource(jedis);

    }



}


    

五、Jedis 實(shí)現(xiàn)分片

Jedis分片采用Hash算法和基于的Key模式匹配。Jedis定義一個(gè)Hash接口,如果覺得自帶的不爽,可以自己實(shí)現(xiàn)一個(gè)Hash算法。Jedis自帶的Hash的算法是MurmurHash 2.0 。

MurmurHash算法:高運(yùn)算性能,低碰撞率,由Austin Appleby創(chuàng)建于2008年,現(xiàn)已應(yīng)用到Hadoop、libstdc++、nginx、libmemcached等開源系統(tǒng)。2011年 Appleby被Google雇傭,隨后Google推出其變種的CityHash算法。

官方網(wǎng)站: https://sites.google.com/site/murmurhash/

MurmurHash算法,自稱超級快的hash算法,是FNV的4-5倍。

?

      
        /**
      
      
             * 創(chuàng)建分片對象
      
      
             * @return
      
      
             */
      
      
        public
      
      
        static
      
       ShardedJedis createShardJedis() {

        

        
      
        //建立服務(wù)器列表
      
      

        List<JedisShardInfo> shards = 
      
        new
      
       ArrayList<JedisShardInfo>();

        

        
      
        //添加第一臺服務(wù)器信息
      
      

        JedisShardInfo si = 
      
        new
      
       JedisShardInfo(
      
        "localhost"
      
      , 6379);

        si.setPassword(
      
        "123"
      
      );

        shards.add(si);

        

        
      
        //添加第二臺服務(wù)器信息
      
      

        si = 
      
        new
      
       JedisShardInfo(
      
        "localhost"
      
      , 6399);

        si.setPassword(
      
        "123"
      
      );

        shards.add(si);

        
      
        //建立分片連接對象
      
      

        ShardedJedis jedis = 
      
        new
      
       ShardedJedis(shards);        

        

        
      
        //建立分片連接對象,并指定Hash算法
      
      
        //ShardedJedis jedis = new ShardedJedis(shards,selfHash);
      
      
        return
      
       jedis;

    }
    

分片也可以支持連接池,具體如下:

      
        private
      
      
        static
      
      
        void
      
       createPool() {

        List<JedisShardInfo> shards = 
      
        new
      
       ArrayList<JedisShardInfo>();

        JedisShardInfo si = 
      
        new
      
       JedisShardInfo(
      
        "localhost"
      
      , 6379);

        si.setPassword(
      
        "123"
      
      );

        shards.add(si);

        si = 
      
        new
      
       JedisShardInfo(
      
        "localhost"
      
      , 6399);

        si.setPassword(
      
        "123"
      
      );

        shards.add(si);

        pool = 
      
        new
      
       ShardedJedisPool(
      
        new
      
       JedisPoolConfig(), shards);

    }
    

其它與普通的連接池沒有區(qū)別。

除Jedis是redis的Java客戶端實(shí)現(xiàn),還有其他的一些開源庫,如:Spring Redis Data ,不過功能還不夠強(qiáng)大。

Redis客戶端使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中文字幕一区二区三 | 欧美性猛交xxxxbbbb | 青青免费视频精品一区二区 | 精品国产免费久久久久久 | 日本高清一级片 | 欧美在线免费观看视频 | 免费一级黄色毛片 | 精品成人毛片一区二区视 | 亚洲va在线va天堂va四虎 | 91在线视频| 日韩高清成人 | 久久机热一这里只精品 | 久久久久久a亚洲欧洲aⅴ | 欧美理论在线 | 国产成人免费视频 | 久久久久久在线 | 真人特级毛片免费视频 | 国产精品久久99 | 国产九九免费视频网站 | 欧美日韩毛片 | 国人精品视频在线观看 | 国产精品岛国久久久久 | 国产一区二区三区日韩欧美 | 寂寞午夜影院 | 国产精品视频在线播放 | 成人亚洲欧美 | 欧美性色xo影院在线观看 | 日本三级带日本三级带黄首页 | www.黄视频| 男女羞羞视频免费观看 | 亚洲精品天堂一区二区三区 | 91成人国产网站在线观看 | 青青青手机版视频在线观看 | 久久国产高清一区二区三区 | 免费在线观看毛片 | 中文字幕亚洲色图 | 香蕉视频在线观看网站 | 久久久久琪琪免费影院 | 日本高清一级做a爱过程免费视频 | 国产精品亚洲一区二区麻豆 | 欧美手机手机在线视频一区 |