Redis入門——Java介面

來源:互聯網
上載者:User

標籤:服務   idle   sts   japan   mil   tac   name   syn   結束   

1、 maven配置

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

2、 Java操作Redis資料介面

package com.coshaho.learn.redis;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import redis.clients.jedis.Jedis;/** *  * MyRedisLearn.java Create on 2017年11月4日 下午4:40:39     *     * 類功能說明:  Redis Java介面測試  * * Copyright: Copyright(c) 2013  * Company: COSHAHO * @Version 1.0 * @Author coshaho */public class MyRedisLearn {    private Jedis jedis;         public static void main(String[] args)    {        MyRedisLearn redis = new MyRedisLearn();        redis.init();        redis.testString();        redis.testMap();        redis.testList();        redis.testSet();    }        public void init()     {        jedis = new Jedis("127.0.0.1", 6379);        jedis.auth("coshaho");      }        public void testString()     {        // 設定值        jedis.del("string1");        jedis.set("string1","coshaho");         System.out.println(jedis.get("string1"));                // 字串拼接        jedis.append("string1", " is my name"); //拼接        System.out.println(jedis.get("string1"));                 // 刪除字串        jedis.del("string1");        System.out.println(jedis.get("string1"));                // 設定多個索引值對        jedis.del("name");        jedis.del("age");        jedis.mset("name","coshaho","age","28");        // 加1操作        jedis.incr("age");        System.out.println(jedis.get("name") + "-" + jedis.get("age"));    }        public void testMap()     {        jedis.del("user");        Map<String, String> map = new HashMap<String, String>();        map.put("name", "coshaho");        map.put("age", "28");        map.put("sex", "male");        jedis.hmset("user",map);                // 參數1 key 參數2 filed 參數3 field        List<String> rsmap = jedis.hmget("user", "name", "age", "sex");        System.out.println(rsmap);            // 刪除map中的某個索引值          jedis.hdel("user","age");        System.out.println(jedis.hmget("user", "age"));           System.out.println(jedis.hlen("user"));          System.out.println(jedis.exists("user"));        System.out.println(jedis.hkeys("user"));        System.out.println(jedis.hvals("user"));          Iterator<String> iter=jedis.hkeys("user").iterator();          while (iter.hasNext())        {              String key = iter.next();              System.out.println(key+":"+jedis.hmget("user",key));          }      }        public void testList()    {          // 刪除list        jedis.del("language");          System.out.println(jedis.lrange("language",0,-1));                  jedis.lpush("language","english");          jedis.lpush("language","chinese");          jedis.lpush("language","japanese");                  // 第一個是key,第二個是起始位置,第三個是結束位置,jedis.llen擷取長度 -1表示取得所有          System.out.println(jedis.lrange("language",0,-1));                  jedis.del("language");        jedis.rpush("language","java");          jedis.rpush("language","c");          jedis.rpush("language","python");         System.out.println(jedis.lrange("language",0,-1));                // 雙向列表,jedis 排序         jedis.del("a");        jedis.rpush("a", "1");          jedis.lpush("a","6");          jedis.lpush("a","3");          jedis.lpush("a","9");          System.out.println(jedis.lrange("a",0,-1));        System.out.println(jedis.sort("a"));         System.out.println(jedis.lrange("a",0,-1));      }          public void testSet()    {          jedis.del("b");          jedis.sadd("b","張三");          jedis.sadd("b","李四");          jedis.sadd("b","王五");          jedis.sadd("b","勝七");        jedis.sadd("b","段九");                  // 移除        jedis.srem("b","勝七");          System.out.println(jedis.smembers("b"));          System.out.println(jedis.sismember("b", "勝七"));          System.out.println(jedis.srandmember("b"));          System.out.println(jedis.scard("b"));    }  }

3、 Java建立Redis串連池

 

package com.coshaho.learn.redis;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public final class RedisPool {    //Redis伺服器IP    private static String ADDR = "127.0.0.1";        //Redis的連接埠號碼    private static int PORT = 6379;        //訪問密碼    private static String AUTH = "coshaho";        //可用串連執行個體的最大數目,預設值為8;    //如果賦值為-1,則表示不限制;如果pool已經分配了MAX_TOTAL個jedis執行個體,則此時pool的狀態為exhausted(耗盡)。    private static int MAX_TOTAL = 1024;        //控制一個pool最多有多少個狀態為idle(閒置)的jedis執行個體,預設值也是8。    private static int MAX_IDLE = 200;        //等待可用串連的最大時間,單位毫秒,預設值為-1,表示永不逾時。如果超過等待時間,則直接拋出JedisConnectionException;    private static int MAX_WAIT = 10000;        private static int TIMEOUT = 10000;        //在borrow一個jedis執行個體時,是否提前進行validate操作;如果為true,則得到的jedis執行個體均是可用的;    private static boolean TEST_ON_BORROW = true;        private static JedisPool jedisPool = null;        /**     * 初始化Redis串連池     */    static     {        try         {            JedisPoolConfig config = new JedisPoolConfig();            config.setMaxIdle(MAX_IDLE);            config.setTestOnBorrow(TEST_ON_BORROW);            config.setMaxTotal(MAX_TOTAL);            config.setMaxWaitMillis(MAX_WAIT);            jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);        }         catch (Exception e)         {            e.printStackTrace();        }    }        /**     * 擷取Jedis執行個體     * @return     */    public synchronized static Jedis getJedis()     {        try         {            if (jedisPool != null)             {                Jedis resource = jedisPool.getResource();                return resource;            }             else             {                return null;            }        }         catch (Exception e)         {            e.printStackTrace();            return null;        }    }        /**     * 釋放jedis資源     * @param jedis     */    public static void close(final Jedis jedis)     {        if (jedis != null) {            jedis.close();;        }    }        public static void main(String[] args)    {        RedisPool.getJedis().set("pool", "串連池");        System.out.println(RedisPool.getJedis().get("pool"));    }}

 

Redis入門——Java介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.