ในบทเรียนนี้ เราจะเรียนรู้วิธีการทำ CRUD operation บน set value โดยใช้ Jedis library
Jedis Library
Jedis เป็น Java client library สำหรับ Redis datastore มีขนาดเล็ก ใช้งานง่าย และรองรับ Redis 2.8.x, 3.x.x และขึ้นไป
Set Value
Set คือ unordered collection ของ unique elements ใน Redis sets ถูกเก็บเป็น value
Project Setup
สร้าง Maven project และเพิ่ม dependency ใน pom.xml:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1</version> </dependency>
Redis Installation
ติดตั้ง Redis เวอร์ชันล่าสุด
Jedis Connection
Jedis jedis = new Jedis();
Create & Add
sadd แทรกสมาชิกหนึ่งหรือหลายรายการใน set value หาก set ไม่มีอยู่จะสร้าง key ใหม่ก่อน:
jedis.sadd("set-1", "a", "b", "c", "d");
jedis.sadd("set-2".getBytes(),"1".getBytes(),"2".getBytes());
Check Member Existence
sismember ตรวจสอบสมาชิกอยู่ใน set หรือไม่:
jedis.sismember("set-1", "ab");
jedis.sismember("set-2".getBytes(), "1".getBytes());
Remove & Return
spop ลบและคืนค่าสมาชิกสุ่มหนึ่งหรือหลายรายการ:
jedis.spop("set-1");
jedis.spop("set-1", 3);
Size
scard หาขนาดของ set value:
jedis.scard("set-1");
Delete
srem ลบสมาชิกหนึ่งหรือหลายรายการ:
jedis.srem("set-1", "a", "b", "c");
jedis.srem("set-1".getBytes(), "1".getBytes(), "b".getBytes());
Get All
smembers ดึงสมาชิกทั้งหมดของ set:
jedis.smembers("set-1");
Union
- sunion: Union ของ set หลายอัน คืนค่า array
jedis.sunion("set-1", "set-2"); - sunionstore: Union และเก็บผลใน set ใหม่
jedis.sunionstore("set-3", "set-1", "set-2");
Intersection
- sinter: Intersection ของ set หลายอัน คืนค่า array
jedis.sinter("set-1", "set-2"); - sinterstore: Intersection เก็บผลใน set ใหม่
jedis.sinterstore("set-3", "set-1", "set-2");
Difference
- sdiff: Difference ของ set หลายอัน คืนค่า array
jedis.sdiff("set-1", "set-2"); - sdiffstore: Difference เก็บผลใน set ใหม่
jedis.sdiffstore("set-3", "set-1", "set-2");
อ้างอิง
- Set Command Docs
ขอจบบทเรียนสำหรับวิธีทำ CRUD operation บน set value โดยใช้ Jedis library หากชอบบทเรียนนี้ กรุณาแบ่งปันความคิดเห็นและแชร์ให้ผู้อื่นด้วยครับ