ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการ CRUD ในค่าที่ตั้งไว้โดยใช้ไลบรารี Jedis
ห้องสมุดเจดิส
Jedis เป็นไลบรารีไคลเอ็นต์ Java สำหรับที่เก็บข้อมูล Redis มันมีขนาดเล็กและใช้งานง่ายมาก และเข้ากันได้อย่างสมบูรณ์กับ redis 2.8.x, 3.x.x และที่เก็บข้อมูลด้านบน คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดเจดิสได้ที่นี่
ตั้งค่า
Set คือคอลเล็กชันขององค์ประกอบที่ไม่ซ้ำแบบไม่เรียงลำดับ ใน Redis ชุดสามารถจัดเก็บเป็นค่าและคำสั่ง redis ต่างๆ สามารถใช้ในการจัดเก็บ จัดการ และดึงค่าชุดที่จัดเก็บไว้ในฐานข้อมูล redis ดูข้อมูลเพิ่มเติมเกี่ยวกับ Set commands ได้ที่นี่
การตั้งค่าโครงการ
สร้างโปรเจ็กต์ maven อย่างง่ายใน IDE ที่คุณชื่นชอบและเพิ่มการพึ่งพาที่กล่าวถึงด้านล่างใน pom.xml ของคุณ ไฟล์.
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1</version> </dependency>
สำหรับไลบรารี jedis เวอร์ชันล่าสุด ตรวจสอบหน้านี้
การติดตั้ง Redis
คุณจะต้องติดตั้ง Redis เวอร์ชันล่าสุด ตรวจสอบหน้านี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้ง redis
การเชื่อมต่อของเจดิส
สร้างวัตถุของ เจดิส ( redis.clients.jedis.Jedis ) คลาสสำหรับเชื่อมต่อโค้ด java ของคุณกับ redis
Jedis jedis = new Jedis();
หากคุณได้เริ่มบริการ redis หนึ่งรายการในเครื่องของคุณ และบนพอร์ตเริ่มต้น (6379) คอนสตรัคเตอร์เริ่มต้นก็จะทำงานได้ดี มิฉะนั้น คุณต้องส่ง URL โฮสต์และหมายเลขพอร์ตที่ถูกต้อง เป็นอาร์กิวเมนต์ในตัวสร้าง
สร้างและเพิ่ม
เศร้า วิธีการแทรกองค์ประกอบอย่างน้อยหนึ่งรายการในค่าที่ตั้งไว้ หากไม่มีค่าที่ตั้งไว้ อันดับแรกจะสร้างคีย์ที่มีค่าชุดว่างก่อนดำเนินการแทรก
/* Creating a new set <set-1> and inserting string values a, b, c, d */ jedis.sadd("set-1", "a", "b", "c", "d"); /* Creating a new set <set-2> and inserting string values 1, 2 */ jedis.sadd("set-2".getBytes(),"1".getBytes(),"2".getBytes());
ตรวจสอบการมีอยู่ของสมาชิก
น้องสาว วิธีที่ใช้ตรวจสอบว่าองค์ประกอบที่ระบุเป็นสมาชิกของชุดหรือไม่
/* Check if ab is a member of <set-1> or not */ jedis.sismember("set-1", "ab"); /* Check if 1 is a member of <set-2> or not */ jedis.sismember("set-2".getBytes(), "1".getBytes());
นำออกและส่งคืน
สปอย เมธอดใช้เพื่อลบและส่งคืนองค์ประกอบสุ่มตั้งแต่หนึ่งรายการขึ้นไปจากค่าที่ตั้งไว้ซึ่งจัดเก็บไว้ที่คีย์
/* Removes and return single random element from the <set-1> */ jedis.spop("set-1"); /* Removes and return 3 random element from the <set-1> */ jedis.spop("set-1", 3);
ขนาด
แผลเป็น เมธอดใช้เพื่อรับขนาดของค่าที่ตั้งไว้ที่คีย์
/* Returns size of <set-1> */ jedis.scard("set-1");
ลบ
เสรม เมธอดใช้เพื่อลบองค์ประกอบตั้งแต่หนึ่งรายการขึ้นไปจากค่าที่ตั้งไว้
/* Remove a, b, c elements from <set-1> */ jedis.srem("set-1", "a", "b", "c"); /* Remove 2, 3 elements from <set-2> */ jedis.srem("set-1".getBytes(), "1".getBytes(), "b".getBytes());
รับทั้งหมด
สมาชิก ใช้เพื่อรับองค์ประกอบทั้งหมดของค่าที่ตั้งไว้
/* Returns all elements from <set-1> */ jedis.smembers("set-1");
ยูเนี่ยน
มีสองวิธีในการดำเนินการยูเนี่ยนกับค่าที่ตั้งไว้ มีดังนี้ :-
- sunion :- มันดำเนินการยูเนี่ยนบนสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นอาร์เรย์
/* Get Union of <set-1>, <set-2> */ jedis.sunion("set-1", "set-2");
- sunionstore :- มันดำเนินการสหภาพบนสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นค่าชุดใหม่
/* Get Union of <set-1>, <set-2> in set destination set <set-3> */ jedis.sunionstore("set-3", "set-1", "set-2");
สี่แยก
มีสองวิธีในการดำเนินการแยกตามค่าที่ตั้งไว้ มีดังนี้ :-
- sinter :- มันดำเนินการแยกบนสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นอาร์เรย์
/* Get Intersection of <set-1>, <set-2> */ jedis.sinter("set-1", "set-2");
- sinterstore :- มันทำการแยกชุดสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นค่าชุดใหม่
/* Get Intersection of <set-1>, <set-2> in set destination set <set-3> */ jedis.sinterstore("set-3", "set-1", "set-2");
ความแตกต่าง
มีสองวิธีในการดำเนินการความแตกต่างในค่าที่ตั้งไว้ มีดังนี้ :-
- sdiff :- มันดำเนินการแตกต่างในสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นอาร์เรย์
/* Get Difference of <set-1>, <set-2> */ jedis.sdiff("set-1", "set-2");
- sdiffstore :- มันดำเนินการความแตกต่างในสองชุดขึ้นไปและส่งคืนผลลัพธ์เป็นค่าชุดใหม่
/* Get Difference of <set-1>, <set-2> in set destination set <set-3> */ jedis.sdiffstore("set-3", "set-1", "set-2");
ข้อมูลอ้างอิง :-
- ตั้งค่าเอกสารคำสั่ง
นั่นคือทั้งหมดสำหรับวิธีดำเนินการ CRUD ในค่าที่ตั้งไว้โดยใช้ไลบรารี Jedis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย