เพิ่งเห็นข่าวที่ทาง Microsoft ปล่อย Garnet 1.0 ออกมา
ซึ่งมีแนวทางการใช้งานเหมือนกับ Redis ที่เพิ่งเปลี่ยน licence การใช้งานไป
โดยที่พัฒนาบน Redis serialization protocol (RESP) ของ Redis
เป็น open source 100%
และมี feature เป็น subset ของ Redis แถวเร็วกว่าด้วย
ในปัจจุบันยังไม่เทียบเท่า แต่ก็เพิ่มเรื่อย ๆ
ยังชวนให้นักพัฒนาเข้ามาร่วม contribute ด้วย
ดูเพิ่มเติมได้ที่ API compatability

เป้าหมายหลัก ๆ คือ เรื่องของความเร็วในการทำงาน
และการใช้งาน resource ที่น้อย
สิ่งที่น่าสนใจมาก ๆ คือ มีชุดการทดสอบเป็นพัน

Garnet ยังคงสนับสนุน data structure ที่หลายหลายเช่นเดิม

  • String
  • List/Set
  • Hash
  • SortedSet
  • Geolocation
  • Pub/Sub

ในส่วนของการ scale มาพร้อมกับ cluster, replication และ sharding data

มาลองใช้งานกันดู

ขั้นตอนการติดตั้งจาก source code

ในส่วนการ config นั้น
สามารถทำผ่านไฟล์ garnet.conf หรือ redis.conf ได้เลย

ต่อมาลองเขียน code เพื่อใช้งาน Garnet server

โดยใช้งานผ่าน Go-redis library สำหรับภาษา go
ตัวอย่าง code เป็นดังนี้

  • ทำการ connect ผ่าน port=3278
  • ใช้งานผ่าน set/get operation ของ string แบบปกติ

เพียงเท่านี้ก็สามารถใช้งาน Garnet แบบง่าย ๆ ได้แล้ว
ลองใช้งานกันดูครับ

Reference websites