ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการ CRUD กับค่ารายการโดยใช้ไลบรารี Jedis
ห้องสมุดเจดิส
Jedis เป็นไลบรารีไคลเอ็นต์ Java สำหรับที่เก็บข้อมูล Redis มันมีขนาดเล็กและใช้งานง่ายมาก และเข้ากันได้อย่างสมบูรณ์กับ redis 2.8.x, 3.x.x และที่เก็บข้อมูลด้านบน คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดเจดิสได้ที่นี่
ค่ารายการ
รายการคือลำดับของสตริงที่จัดเรียงตามลำดับการแทรก ใน Redis รายการสามารถจัดเก็บเป็นค่าได้ และคำสั่ง redis ต่างๆ สามารถใช้ในการจัดเก็บ จัดการ และเรียกข้อมูลค่ารายการที่จัดเก็บไว้ในฐานข้อมูล redis ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง List ได้ที่นี่
การตั้งค่าโครงการ
สร้างโปรเจ็กต์ 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 โฮสต์และหมายเลขพอร์ตที่ถูกต้อง เป็นอาร์กิวเมนต์ในตัวสร้าง
สร้างและเพิ่ม
ห้องสมุด Jedis มีหลายวิธีในการสร้างและแทรกองค์ประกอบในค่ารายการ วิธีการที่สำคัญบางประการมีดังนี้ :-
- lpush :- มันแทรกองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบที่ส่วนหัวของค่ารายการ หากไม่มีรายการค่า อันดับแรกจะสร้างคีย์ที่ถือค่ารายการว่างก่อนดำเนินการแทรก
/* Creating a new list and inserting string values a, b, c at head */ jedis.lpush("list-1", "a", "b", "c"); /* Creating a new list and inserting byte array of string value 1, 2 at head */ jedis.lpush("list-2".getBytes(),new BigInteger("1").toByteArray(),new BigInteger("2").toByteArray());
- rpush :- โดยจะแทรกองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบที่ส่วนท้ายของค่ารายการ หากไม่มีค่ารายการ อันดับแรกจะสร้างคีย์ที่มีค่ารายการว่างก่อนดำเนินการแทรก
/* Creating a new list and inserting string values a, b, c at tail */ jedis.rpush("list-3", "a", "b", "c"); /* Creating a new list and inserting byte array of string value 1, 2 at tail */ jedis.rpush("list-4".getBytes(),new BigIntege r("1").toByteArray(),new BigInteger("2").toByteArray());
- lpushx :- มันแทรกองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบที่ส่วนหัวของค่ารายการก็ต่อเมื่อค่ารายการมีอยู่แล้ว
/* Inserting string values d, e at head of the list <list-1> */ jedis.lpushx("list-1", "d", "e"); /* Inserting string values 3, 4 at head of the list <list-2> */ jedis.lpushx("list-2".getBytes(),new BigInteger("3").toByteArray(),new BigInteger("4").toByteArray());
- rpushx :- มันแทรกองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบที่ส่วนท้ายของค่ารายการก็ต่อเมื่อค่ารายการมีอยู่แล้ว
/* Inserting string values d, e at tail of the list <list-3> */ jedis.rpush("list-3", "d", "e"); /* Inserting string values 3, 4 at tail of the list <list-4> */ jedis.rpush("list-4".getBytes(),new BigInteger("3").toByteArray(),new BigInteger("4").toByteArray());
นำออกและส่งคืน
มีสองวิธีในการดำเนินการสแต็กเช่นการดำเนินการป๊อปกับค่ารายการ มีดังนี้ :-
- lpop :- มันลบและส่งคืนองค์ประกอบแรกของค่ารายการ
/* Removes and return single element from the head of <list-1> */ jedis.lpop("list-1"); /* Removes and return single element from the head of <list-2> */ jedis.lpop("list-2".getBytes());
- rpop :- มันลบและส่งคืนองค์ประกอบสุดท้ายของค่ารายการ
/* Removes and return single element from the tail of <list-3> */ jedis.rpop("list-3"); /* Removes and return single element from the tail of <list-4> */ jedis.rpop("list-4".getBytes());
ความยาว
เลน วิธีถูกใช้เพื่อรับความยาวของค่ารายการที่เก็บไว้ที่คีย์ ตัวอย่างโค้ด :-
/* Returns size of <list-1> */ jedis.llen("list-1"); /* Returns size of <list-2> */ jedis.llen("list-2".getBytes());
ลบ
เลม เมธอดใช้เพื่อลบการเกิดขึ้นทั้งหมดขององค์ประกอบออกจากค่ารายการ
/* Remove one occurrence of element a from <list-1> */ jedis.lrem("list-1", 1, "a"); /* Remove two occurrence of element 1 from <list-2> */ jedis.lrem("list-2".getBytes(), 2, "1".getBytes());
รับตามดัชนี
ดัชนี ใช้เพื่อรับองค์ประกอบโดยอาร์กิวเมนต์ดัชนี
/* Get an element at index 3 from <list-1> */ jedis.lindex("list-1", 3); /* Get an element at index 2 from <list-2> */ jedis.lindex("list-2".getBytes(), 2);
อัปเดตตามดัชนี
lset เมธอดใช้เพื่ออัปเดตองค์ประกอบโดยอาร์กิวเมนต์ดัชนี
/* Set an element g at index 3 from <list-1> */ jedis.lset("list-1", 3, "g"); /* Set an element 6 at index 2 from <list-2> */ jedis.lset("list-2".getBytes(), 2, "6".getBytes());
รับหลายองค์ประกอบ
ยาว ใช้เพื่อรับหนึ่งหรือองค์ประกอบจากค่ารายการที่กำหนดโดยอาร์กิวเมนต์ออฟเซ็ต
/* Returns elements from index 1 to 5 from <list-1> */ jedis.lrange("list-1", 1, 5); /* Returns all elements from <list-2> */ jedis.lrange("list-2".getBytes(), 0, -1);
ข้อมูลอ้างอิง :-
- แสดงรายการเอกสารคำสั่ง
นั่นคือทั้งหมดสำหรับวิธีดำเนินการ CRUD กับค่ารายการโดยใช้ไลบรารี Jedis หากคุณชอบโปรดแบ่งปันความคิดของคุณในส่วนความคิดเห็นและแบ่งปันกับผู้อื่นด้วย