Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

Redis Jedis – วิธีดำเนินการ CRUD กับค่าที่ตั้งไว้โดยใช้ jedis library

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการ 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");

ยูเนี่ยน

มีสองวิธีในการดำเนินการยูเนี่ยนกับค่าที่ตั้งไว้ มีดังนี้ :-

  1. sunion :-  มันดำเนินการยูเนี่ยนบนสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นอาร์เรย์
    /* Get Union of <set-1>, <set-2> */
    jedis.sunion("set-1", "set-2");
  2. sunionstore :- มันดำเนินการสหภาพบนสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นค่าชุดใหม่
    /* Get Union of <set-1>, <set-2> in set destination set <set-3> */
    jedis.sunionstore("set-3", "set-1", "set-2");

สี่แยก

มีสองวิธีในการดำเนินการแยกตามค่าที่ตั้งไว้ มีดังนี้ :-

  1. sinter :-  มันดำเนินการแยกบนสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นอาร์เรย์
    /* Get Intersection of <set-1>, <set-2> */
    jedis.sinter("set-1", "set-2");
  2. sinterstore :- มันทำการแยกชุดสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นค่าชุดใหม่
    /* Get Intersection of <set-1>, <set-2> in set destination set <set-3> */
    jedis.sinterstore("set-3", "set-1", "set-2");

ความแตกต่าง

มีสองวิธีในการดำเนินการความแตกต่างในค่าที่ตั้งไว้ มีดังนี้ :-

  1. sdiff :-  มันดำเนินการแตกต่างในสองชุดขึ้นไปและส่งกลับผลลัพธ์เป็นอาร์เรย์
    /* Get Difference of <set-1>, <set-2> */
    jedis.sdiff("set-1", "set-2");
  2. sdiffstore :- มันดำเนินการความแตกต่างในสองชุดขึ้นไปและส่งคืนผลลัพธ์เป็นค่าชุดใหม่
    /* Get Difference of <set-1>, <set-2> in set destination set <set-3> */
    jedis.sdiffstore("set-3", "set-1", "set-2");

ข้อมูลอ้างอิง :-

  1. ตั้งค่าเอกสารคำสั่ง

นั่นคือทั้งหมดสำหรับวิธีดำเนินการ CRUD ในค่าที่ตั้งไว้โดยใช้ไลบรารี Jedis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย