Jedis實用API(續)
阿新 • • 發佈:2018-11-17
/* 字串型別 */ 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();