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

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

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการดำเนินการ CRUD กับค่าแฮชโดยใช้ไลบรารี Jedis

ห้องสมุดเจดิส

Jedis เป็นไลบรารีไคลเอ็นต์ Java สำหรับที่เก็บข้อมูล Redis มันมีขนาดเล็กและใช้งานง่ายมาก และเข้ากันได้อย่างสมบูรณ์กับ redis 2.8.x, 3.x.x และที่เก็บข้อมูลด้านบน คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดเจดิสได้ที่นี่

ค่าแฮช

แฮชคือแผนที่ของคู่ฟิลด์-ค่า ซึ่งสามารถใช้เพื่อแสดงถึงประเภทอ็อบเจ็กต์ เช่น ออบเจ็กต์ Java ใน Redis แฮชสามารถจัดเก็บเป็นค่าได้ และคำสั่ง redis ต่างๆ จะถูกใช้เพื่อจัดเก็บ จัดการ และดึงค่าแฮชที่เก็บไว้ในฐานข้อมูล redis ดูข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งแฮชได้ที่นี่

การตั้งค่าโครงการ

สร้างโปรเจ็กต์ maven อย่างง่ายใน IDE ที่คุณชื่นชอบและเพิ่มการพึ่งพาที่กล่าวถึงด้านล่างใน pom.xml ของคุณ ไฟล์.

  redis.clients  jedis  3.0.1

สำหรับไลบรารี jedis เวอร์ชันล่าสุด ตรวจสอบหน้านี้

การติดตั้ง Redis

คุณจะต้องติดตั้ง Redis เวอร์ชันล่าสุด ตรวจสอบหน้านี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้ง redis

การเชื่อมต่อของเจดิส

สร้างวัตถุของ เจดิส ( redis.clients.jedis.Jedis ) คลาสสำหรับเชื่อมต่อโค้ด java ของคุณกับ redis

Jedis jedis =เจดิสใหม่ ();

หากคุณได้เริ่มบริการ redis หนึ่งรายการในเครื่องของคุณ และบนพอร์ตเริ่มต้น (6379) คอนสตรัคเตอร์เริ่มต้นก็จะทำงานได้ดี มิฉะนั้น คุณต้องส่ง URL โฮสต์และหมายเลขพอร์ตที่ถูกต้อง เป็นอาร์กิวเมนต์ในตัวสร้าง

สร้างและตั้งค่าของฟิลด์

มีสามวิธีในการตั้งค่าที่เกี่ยวข้องกับฟิลด์ที่อยู่ภายในค่าแฮช มีดังนี้ :-

  1. hset :-  มันตั้งค่าที่ระบุเป็นฟิลด์ที่เกี่ยวข้องในค่าแฮช หากมีฟิลด์อยู่แล้ว ค่านั้นจะถูกเขียนทับ หากไม่มีคีย์ จะมีการสร้างคีย์ใหม่ที่ถือค่าแฮชก่อนที่จะดำเนินการตั้งค่า
    /* ใส่ฟิลด์ชื่อใน  */jedis.hset("hash-1", "name ", "จอห์น"); /* ใส่ชื่อฟิลด์ใน  */jedis.hset("hash-2".getBytes(), "name".getBytes(), "john".getBytes());
  2. hsetnx :- โดยตั้งค่าที่ระบุเป็นฟิลด์ที่เกี่ยวข้องในค่าแฮช เฉพาะในกรณีที่ไม่มีฟิลด์ หากมีฟิลด์อยู่แล้ว การดำเนินการนี้จะไม่มีผลใดๆ หากไม่มีคีย์ คีย์ใหม่ที่ถือค่าแฮชจะถูกสร้างขึ้นก่อนดำเนินการตั้งค่า
    /* ใส่ฟิลด์ชื่อใน  */jedis.hsetnx("hash-1", "name ", "จอห์น"); /* ใส่ชื่อฟิลด์ใน  */jedis.hsetnx("hash-2".getBytes(), "age".getBytes(), "23".getBytes());
  3. hmset :- มันตั้งค่าที่ระบุเป็นฟิลด์ที่เกี่ยวข้อง ( หลายฟิลด์/คู่ค่า ) ในค่าแฮช หากมีฟิลด์ที่ระบุอยู่แล้ว ค่านั้นจะถูกเขียนทับ หากไม่มีคีย์ ระบบจะสร้างคีย์ใหม่ที่ถือค่าแฮชก่อนที่จะดำเนินการตั้งค่า
    /* ใส่ฟิลด์ชื่อและอายุใน  */Map map =new HashMap ();map.put("name","john");map.put("age","23");jedis.hmset("hash-1", map);

รับค่าของฟิลด์

มีสองวิธีในการรับค่าที่เกี่ยวข้องกับฟิลด์ที่อยู่ภายในค่าแฮช มีดังนี้ :-

  1. hget :-  ส่งคืนค่าที่เกี่ยวข้องกับฟิลด์เดียวที่อยู่ภายในค่าแฮช
    /* รับค่าของฟิลด์ชื่อใน  */jedis.hget("hash-1", "name"); 
  2. hmget :- ส่งคืนค่าที่เกี่ยวข้องกับฟิลด์อย่างน้อยหนึ่งฟิลด์ที่อยู่ภายในค่าแฮช
    /* รับค่าของฟิลด์ชื่อและอายุใน  */jedis.hmget("hash-1", "name", "อายุ");

ขนาด 

เฮเลน เมธอดถูกใช้เพื่อรับจำนวนฟิลด์ที่มีอยู่ในค่าแฮชที่เก็บไว้ที่คีย์

/* ส่งกลับจำนวนฟิลด์ใน  */jedis.hlen("hash-1");

ลบ

hdel เมธอดใช้เพื่อลบฟิลด์ตั้งแต่หนึ่งฟิลด์ขึ้นไปจากค่าแฮชที่จัดเก็บไว้ที่คีย์

/* ลบฟิลด์ชื่อและอายุออกจาก  */jedis.hdel("hash-1", "name", "age"); /* ลบฟิลด์ชื่อและอายุออกจาก  */jedis.hdel("hash-2".getBytes(),"name".getBytes(),"age".getBytes());

ตรวจสอบการมีอยู่ของฟิลด์ 

เลขฐานสิบหก เมธอดที่ใช้ในการตรวจสอบว่าฟิลด์ที่ระบุเป็นสมาชิกของแฮชหรือไม่

/* ตรวจสอบว่าชื่อเป็นสมาชิกของ  หรือไม่ */jedis.hexists("hash-1", "name");/* ตรวจสอบว่าชื่อเป็นสมาชิกของ  หรือไม่ */jedis.hexists("hash-2".getBytes(),"name".getBytes());

รับทั้งหมด

hgetall เมธอดใช้เพื่อรับฟิลด์ทั้งหมดและค่าที่เกี่ยวข้องที่มีอยู่ในค่าแฮชที่เก็บไว้ที่คีย์

/* ส่งกลับฟิลด์ทั้งหมดและค่าของมันจาก  */jedis.hgetAll("hash-1");/* ส่งกลับฟิลด์ทั้งหมดและค่าของมันจาก  */jedis.hgetAll( "hash-2".getBytes());

รับกุญแจทั้งหมด

hkeys เมธอดถูกใช้เพื่อรับชื่อของฟิลด์ทั้งหมดที่มีอยู่ในค่าแฮชที่เก็บไว้ที่คีย์

/* ส่งกลับชื่อฟิลด์ทั้งหมดจาก  */jedis.hkeys("hash-1");/* ส่งคืนชื่อฟิลด์ทั้งหมดจาก  */jedis.hkeys("hash-2 ".getBytes());

รับค่าทั้งหมด

hvals เมธอดใช้เพื่อรับค่าของฟิลด์ทั้งหมดที่มีอยู่ในค่าแฮชที่เก็บไว้ที่คีย์

/* ส่งคืนค่าทั้งหมดจาก  */jedis.hvals("hash-1");/* ส่งคืนค่าทั้งหมดจาก  */jedis.hvals("hash-2" getBytes());

อ้างอิง :-

  1. เอกสารคำสั่งแฮช

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