เพิ่งเห็นข่าวที่ทาง Microsoft ปล่อย Garnet 1.0 ออกมาซึ่งมีแนวทางการใช้งานเหมือนกับ Redis ที่เพิ่งเปลี่ยน licence การใช้งานไปโดยที่พัฒนาบน Redis serialization protocol (RESP) ของ Redis เป็น open source 100%และมี feature เป็น subset ของ Redis แถวเร็วกว่าด้วยในปัจจุบันยังไม่เทียบเท่า แต่ก็เพิ่มเรื่อย ๆ ยังชวนให้นักพัฒนาเข้ามาร่วม contribute ด้วยดูเพิ่มเติมได้ที่ API compatability
Read More…
Redis 7.2 ถูกปล่อยออกมา โดยมี feature ใหม่ ๆ เพิ่มเข้ามาซึ่งจะอยู่ใน Enterprise version เสียมากกว่า ดังนี้ ปรับปรุงประสิทธิภาพของอ่านและเขียนข้อมูลและเน้นที่การ search ข้อมูลมากยิ่งขึ้นที่ค้นหาข้อมูลชนิด vector และสนับสนุน LLM (Large Language Model) อีกด้วย
Read More…
จากงานเดิมใช้งาน RediSearch เกี่ยวการค้นหาข้อมูล (Full text search) ไปแล้วต่อมามี use case ต้องทำการค้นหาข้อมูล Geolocation (lat,lng) นั่นเองโดยมีความต้องการดังนี้ ยังค้นหาแบบ full text search ในข้อมูลจาก property ต่าง ๆ ได้ หาข้อมูลที่อยู่ใกล้ เรียงลำดับจากใกล้ไปไกลได้ กำหนดจำนวนข้อมูลที่ต้องการ มาดูกันว่าทำอย่างไรได้บ้างใน Redis นั่นเอง
Read More…
RediSearch เป็นอีกหนึ่ง module ของ Redisช่วยทำให้เราสามารถทำ ful text search ใน Redis ได้โดยมี feature ที่น่าสนใจดังนี้ Query แบบ single และ multi-field ได้ Filter และ Sorting ได้ครบ Indexing Aggregation การทำงานอยู่ภายใต้ความสามารถของ Redis นั่นเอง
Read More…
หลังจากที่พูดคุยเรื่องการนำ Redis มาใช้งานทั้งการจัดเก็บข้อมูลชั่วคราว (caching data)ทั้งการใช้งาน pub/sub สำหรับ messaging systemซึ่งมีการสรุปเรื่อง architecture ของ Redis ที่เหมาะสมต่องานมีรูปแบบต่าง ๆ ดังนี้
Read More…
เนื่องด้วยเพิ่งเข้าไปดูและแก้ไขปัญหาของ Redis serverจึงทำการสรุปแนวทางการแก้ไว้นิดหน่อย
Read More…
ปัญหาที่พบเจอสำหรับการจัดเก็บข้อมูลใน Redisนั่นก็คือ การเลือก data structure ที่ไม่เหมาะสมกับการใช้งานส่งผลให้การทำงานในแต่ละ operation สูงขึ้นส่งผลให้ Redis รับงานได้น้อยลงเนื่องจาก Redis ทำงานแบบ Single Thread นะ (แต่ก็ปรับปรุงมาเยอะ)ดังนั้นจึงกลับมาดูที่ต้นเหตุ รวมทั้งความรู้พื้นฐานกันหน่อย
Read More…
ปัญหาการ scale Redis บน Google Cloud Memorystore for Redisเนื่องจาก Redis ทำงานแบบ Single threadทำให้ถ้ามีการทำงานที่ช้า ๆ อาจจะส่งผลต่อการทำงานอื่น ๆ ได้แต่ละ scale ด้วยการขยายเครื่อง ก็ไม่การันตีว่าจะดีขึ้นหนึ่งในคำแนะนำคือ การใช้งาน Proxy มาช่วยโดยตัวที่น่าสนใจคือ Twemproxy ซึ่งพัฒนาจาก Twitterดังนั้นจึงมาลองทำความรู้จักกันหน่อย
Read More…
ปัญหาที่พบเจอ หรือ use case ที่ต้องทำในระบบงาน เป็นดังนี้ต้องการข้อมูลของ Top 10 user ที่ทำการสั่งซื้อสินค้ามากที่สุดโดยการทำงานปกติมีขั้นตอนดังนี้ ทำการเพิ่มข้อมูลการสั่งซื้อของผู้ใช้งาน ทำการนับจำนวน order ของผู้ใช้งานแต่ละคนไปเรื่อย ๆ โดยใน counter ทำการดึงข้อมูลผู้ใช้งานที่สั่งมากที่สุด 10 คน (Top 10 และ sorting)
Read More…
ว่าง ๆ มาดูกันว่า Redis มีความสามารถอะไรที่น่าสนใจบ้าง บางอย่างก็น่ารู้ แต่บางอย่างก็ไม่น่ารู้ ก่อนอื่นต้องทำความรู้จักกับ Redis ก่อนว่า มันคือ No-SQL database ประเภทหนึ่ง ซึ่งจะเรียกว่า Key-value database โดยที่รูปแบบข้อมูลมีทั้ง string, hash, list, set และ sorted set ทำให้ถูกเรียกว่าเป็น Data Structure Database
Read More…