1. 程式人生 > >Jedis實用API(續)

Jedis實用API(續)

         /*
        字串型別
         */
        Jedis jedis = new Jedis("hadoop01", 6379);
        jedis.auth("123");
        jedis.flushDB();//清空當前的所有資料
        jedis.set("key", "value");//在原來key對應的值上面追加一個字串
        jedis.append("redis", "test");//如果我們追加的key不存在 ,那麼會自動建立一個key
        jedis.incrBy("count", 10); //自增1 redis會轉換成整數型別在進行+操作 等價於 count++ 預設為零
        jedis.incrByFloat("value", 12.0);
        jedis.decr("count");
        jedis.get("count");
        jedis.getrange("bigdata", 0, 3);//包含頭和尾
        jedis.setrange("bigdata", 0, "de");
        jedis.strlen("bibgdata");//獲取字串長度
        jedis.mset("bigdata", "java", "count", "2000");//同時設定多個key的值
        jedis.mget("bigdata", "count");//同時獲取多個key的值
       /*
       集合Set  元素無序 不可重複
       */

        Long s = jedis.sadd("hobbys", "eat", "drink", "play", "joy");//新增元素 返回新增元素的個數
        jedis.scard("hobbys");//查詢集合元素的數量
        jedis.sadd("hobby2", "eat", "travel");
        jedis.sdiff("hobbys", "hobby2");//求多個元素的差集
        Long sdiffstore = jedis.sdiffstore("hobbys3", "hobbys", "hobbys2");//將取到的結果儲存在hobbys3中
        Long scard = jedis.scard("hobbys3");
        Set<String> set = jedis.sinter("hobbys", "hobbys2"); //交集
        //jedis.sinterstore();
        jedis.sismember("hobbys", "吃");//判斷集合中是否存在某個元素
        jedis.smembers("hobbys");//獲取集合中的元素
        jedis.srandmember("", 2);//從集合中隨機的取元素
        jedis.spop("", 1);//隨機刪除元素
        jedis.srem("hobbys", "吃", "玩");//從集合中刪除一個或多個
        //根據查詢關鍵字 搜尋集合中的元素
        ScanParams scan = new ScanParams();
        jedis.sadd("hobbys", "java", "js", "php", "c++", "c#");
        scan.match("c*");
        ScanResult<String> sr = jedis.sscan("hobbys", 0, scan);
        List<String> list2 = sr.getResult();
    /* 有序集合
    SortedSet
    元素不可重複 元素有序(根據score排序)
    score值越大 排名越靠後
    */

    jedis.zadd("price", 1, "1");
    jedis.zadd("price", 5, "10");
    jedis.zrange("price", 0, -1); //獲取元素列表
    jedis.zcount("price", 1, 8);//獲取指定範圍的元素數量
    jedis.zincrby("price", 5.5, "3");//新增新的一列
    jedis.zrank("price", "3");//指定建在集合的分值排名 返回新的分值
    jedis.zrem("price", "3");//刪除元素 刪除成功返回元素的數量 失敗返回零
    jedis.zscore("price", "10");//獲取元素的排名分值
 /* List 佇列
         * 元素是按插入的順序
         * */
        jedis.lpush("user", "v1", "v2");//向頭部新增元素
        jedis.rpush("user", "v3", "v4"); //向尾部追加元素
        jedis.llen("user"); //返回key的長度
        List<String> users = jedis.lrange("uer", 0, -1);//獲取元素
        jedis.lpush("users", "v1", "v2");//刪除指定相同元素數量
        jedis.lrem("user", 2, "v3");
        //刪除頭部和尾部
        jedis.lpop("users");
        jedis.rpop("users");

/*
        hash雜湊
         */

        jedis.hset("user", "name", "zhangsan");  //新增元素
        jedis.hset("user", "age", "18");
        jedis.hget("user", "name");
        Map<String, String> user = jedis.hgetAll("user");//獲取所有值
        for (Map.Entry<String, String> entry : user.entrySet()) {
            System.out.println(entry.getKey() + ".." + entry.getValue());
        }

        jedis.hexists("user", "sex"); //判斷key的欄位時是存在
        jedis.hincrBy("user", "age", 20);//對某個欄位累加整數的值
        jedis.hincrByFloat("user", "height", 1.75);//累計浮點型別的值
        //獲取hash的欄位數量
        jedis.hlen("user");
        jedis.hvals("user");
        jedis.hkeys("user");
        jedis.hdel("user", "height", "23");
        jedis.close();