การใช้ Java เพื่อใช้งาน Redis ต้องใช้ Jedis-2.1.0.jar, ดาวน์โหลดที่อยู่: Jedis-2.1.0.jar
หากคุณต้องการใช้ Redis Connection Pool คุณต้องมี Commons-Pool-1.5.4.jar ดาวน์โหลดที่อยู่: Commons-Pool-1.5.4.jar
แพ็คเกจ com.test; นำเข้า java.util.hashmap; นำเข้า java.util.iterator; นำเข้า java.util.list; นำเข้า java.util.map; นำเข้า org.junit.before; นำเข้า org.junit.test; นำเข้า redis.clients.jedis.jedis @Before การตั้งค่าโมฆะสาธารณะ () {// เชื่อมต่อเซิร์ฟเวอร์ Redis, 192.168.0.100:6379 Jedis = New Jedis ("192.168.0.100", 6379); // การรับรองการรับรองความถูกต้อง jedis.auth ("ผู้ดูแลระบบ"); } / *** String Storage Redis* / @Test Public Public Void TestString () { - - // ลบคีย์ system.out.println (jedis.get ("ชื่อ")); // ตั้งค่าคีย์-ค่าหลายคู่ jedis.mset ("ชื่อ", "liuling", "อายุ", "23", "qq", "476777xxx"); jedis.incr ("อายุ"); // โปรดเพิ่ม 1 system.out.println (jedis.get ("ชื่อ") + "-" + jedis.get ("อายุ") + "-" + jedis.get ("qq")); } /** * แผนที่การทำงานของ REDIS * /@Test โมฆะสาธารณะ testMap () {// ---------------- แผนที่ <สตริง, สตริง> แผนที่ = ใหม่ hashmap <สตริง, สตริง> (); map.put ("ชื่อ", "xinxin"); map.put ("อายุ", "22"); map.put ("qq", "123456"); jedis.hmset ("ผู้ใช้", แผนที่); // นำชื่อออกมาในผู้ใช้และดำเนินการผลลัพธ์: [minxr]-> โปรดทราบว่าผลลัพธ์เป็นรายการทั่วไป // พารามิเตอร์แรกคือคีย์ที่เก็บไว้ในวัตถุแผนที่ใน Redis ตามด้วยคีย์ของวัตถุที่วางไว้ในแผนที่และคีย์ " System.out.println (RSMAP); // ลบค่าคีย์ในแผนที่ jedis.hdel ("ผู้ใช้", "อายุ"); System.out.println (jedis.hmget ("ผู้ใช้", "อายุ")); // เนื่องจากมันถูกลบการส่งคืนเป็น null system.out.println (jedis.hlen ("ผู้ใช้")); // ส่งคืนจำนวนของค่าที่เก็บไว้ในคีย์ด้วยคีย์ของผู้ใช้ 2 System.out.println (jedis.exists ("ผู้ใช้")); // ส่งคืนจริงหากมีการบันทึกกับผู้ใช้ System.out.println (jedis.hkeys ("ผู้ใช้")); // ส่งคืนคีย์ทั้งหมดใน MAP Object System.out.println (jedis.hvals ("ผู้ใช้")); // ส่งคืนค่าทั้งหมดใน Object iterator <string> iter = jedis.hkeys ("ผู้ใช้") iterator (); ในขณะที่ (iter.hasnext ()) {string key = iter.next (); System.out.println (คีย์+":"+jedis.hmget ("ผู้ใช้", คีย์)); }} /** * รายการการทำงานของ Jedis * /@Test Public Public Void TestList () {// ลบเนื้อหาทั้งหมดก่อนเริ่ม jedis.del ("Java Framework"); System.out.println (jedis.lrange ("Java Framework", 0, -1)); // ร้านแรกของข้อมูลสามชิ้นใน Key Java Framework Jedis.lpush ("Java Framework", "Spring"); Jedis.lpush ("Java Framework", "Struts"); Jedis.lpush ("Java Framework", "Hibernate"); // ดึงข้อมูลทั้งหมด jedis.lrange และออกช่วงออกช่วง // แรกคือกุญแจที่สองคือตำแหน่งเริ่มต้นและที่สามคือตำแหน่งสุดท้ายและ Jedis.llen ได้รับความยาว -1 เพื่อระบุว่า System.out.println ทั้งหมด Jedis.del ("Java Framework"); Jedis.rpush ("Java Framework", "Spring"); Jedis.rpush ("Java Framework", "Struts"); Jedis.rpush ("Java Framework", "Hibernate"); System.out.println (jedis.lrange ("Java Framework", 0, -1)); } /** * ชุดปฏิบัติการ Jedis * /@Test Public Public Void Testset () {// เพิ่ม jedis.sadd ("ผู้ใช้", "liuling"); jedis.sadd ("ผู้ใช้", "xinxin"); jedis.sadd ("ผู้ใช้", "Ling"); jedis.sadd ("ผู้ใช้", "zhangxinxin"); jedis.sadd ("ผู้ใช้", "ใคร"); // ลบ noname jedis.srem ("ผู้ใช้", "ใคร"); System.out.println (jedis.smembers ("ผู้ใช้")); // รับ System.out.out.println ทั้งหมด (jedis.sismember ("ผู้ใช้", "Who")); // ตัดสินว่าใครเป็นองค์ประกอบของชุดผู้ใช้ System.out.println (jedis.srandmember ("ผู้ใช้")); System.out.println (jedis.scrad ("ผู้ใช้")); // ส่งคืนจำนวนองค์ประกอบในคอลเลกชัน} @test การทดสอบโมฆะสาธารณะ () พ่น InterruptedException {// Jedis sort // โปรดทราบว่า rpush และ lpush นี่คือการดำเนินการรายการ เป็นรายการที่เชื่อมโยงแบบสองทิศทาง (แต่จากมุมมองของประสิทธิภาพ) 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)); // [9, 3, 6, 1] system.out.println (jedis.sort ("a")); // [1, 3, 6, 9] // ป้อนผลลัพธ์หลังจากการเรียงลำดับ System.out.println (jedis.lrange ("a", 0, -1)); } @Test โมฆะสาธารณะทดสอบ () {redisutil.getJedis (). set ("newName", "การทดสอบภาษาจีน"); System.out.println (redisutil.getjedis (). get ("newname")); - Redis Connection Pool:
แพ็คเกจ com.test; นำเข้า redis.clients.jedis.jedis; นำเข้า redis.clients.jedis.jedispool; นำเข้า redis.clients.jedis.jedispoolconfig; Redisutil ชั้นสุดท้ายสาธารณะ {// เซิร์ฟเวอร์ REDIS IP String ส่วนตัว addr = "192.168.0.100"; // หมายเลขพอร์ต Redis หมายเลขพอร์ต int แบบคงที่ส่วนตัว = 6379; // เข้าถึงรหัสผ่านส่วนตัวสตริงคงที่ auth = "ผู้ดูแลระบบ"; // จำนวนสูงสุดของอินสแตนซ์การเชื่อมต่อที่มีอยู่ค่าเริ่มต้นคือ 8; // ถ้าค่าคือ -1 มันหมายถึงไม่มีขีด จำกัด ; หากสระว่ายน้ำได้จัดสรรอินสแตนซ์ของเจไดที่มีการออกฤทธิ์สูงสุดแล้วสถานะของพูลในเวลานี้จะหมดลง (exhaused) INT INT MAX_ACTION ส่วนตัว = 1024; // ติดต่อจำนวนอินสแตนซ์เจไดที่มีสถานะไม่ได้ใช้งาน (ไม่ได้ใช้งาน) ในพูลและค่าเริ่มต้นคือ 8. int max_idle แบบคงที่ส่วนตัว = 200; // เวลาสูงสุดในการรอการเชื่อมต่อที่มีอยู่ในมิลลิวินาทีค่าเริ่มต้นคือ -1 ซึ่งบ่งชี้ว่าการหมดเวลาจะไม่ถึง หากเกินเวลารอคอยการเจดีย์เจดีย์จะถูกโยนลงไปโดยตรง int คงที่ส่วนตัว max_wait = 10,000; การหมดเวลา int คงที่ส่วนตัว = 10,000; // เมื่อยืมอินสแตนซ์ของเจไดไม่ว่าจะทำการตรวจสอบความถูกต้องล่วงหน้าหรือไม่ หากเป็นจริงอินสแตนซ์ของเจไดที่ได้รับจะมีอยู่ทั้งหมด บูลีนแบบคงที่ส่วนตัว test_on_borrow = true; เจ็ดดิสบูลเจดริสบูลส่วนตัว = NULL; / *** เริ่มต้นพูลการเชื่อมต่อ Redis*/ คงที่ {ลอง {jedispoolconfig config = new JedispoolConfig (); config.setMaxactive (max_active); config.setMaxidle (max_idle); config.setMaxWait (max_wait); config.settestonborrow (test_on_borrow); jedispool = new Jedispool (config, addr, พอร์ต, หมดเวลา, auth); } catch (exception e) {e.printstacktrace (); }} / *** รับอินสแตนซ์ของเจดิส* @return* / สาธารณะที่ซิงโครไนซ์คงที่ Jedis getJedis () {ลอง {ถ้า (jedispool! = null) {jedis resource = jedispool.getResource (); กลับทรัพยากร; } else {return null; }} catch (exception e) {e.printstacktrace (); คืนค่า null; }} / *** ปล่อยทรัพยากร Jedis* @param Jedis* / โมฆะสาธารณะคงที่กลับมาใหม่ (สุดท้าย Jedis Jedis) {ถ้า (jedis! = null) {Jedispool.returnresource (Jedis); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น