ความปลอดภัยด้านประเภทและความปลอดภัยด้านการออกแบบ
- มีการทำ type ที่ปลอดภัยอย่างสมบูรณ์ครอบคลุมทั้งโค้ดเบส
- ออกแบบอย่างแข็งแรงและใช้งานเข้าใจง่ายบนพื้นฐานของหลักการ SOLID
- มุ่งสู่โค้ดที่คงความถูกต้อง เรียบง่าย และเข้าใจได้โดยสัญชาตญาณ
เบามาก
- รองรับการนำเข้าแบบ pure ESM และ CJS ที่ทำ tree-shaking ได้ตามลักษณะการใช้งาน
- โครงสร้างที่สามารถขยายคำสั่งที่ต้องการให้กับไคลเอนต์พื้นฐานได้ในรันไทม์
- แม้จะเป็นไคลเอนต์ที่รวมคำสั่งที่ใช้บ่อยทั้งหมด เช่น คำสั่งที่เกี่ยวข้องกับ
Sorted Set, คำสั่งที่เกี่ยวข้องกับ Hash, SET, GET, SCAN ก็ยังมีขนาดบันเดิลต่ำกว่า 30KB ตอน build (ioredis, node-redis อยู่ที่ราว 130KB, 300KB ตามลำดับ)
- ไม่มี dependency
ประสิทธิภาพสูง
- เร็วกว่า
ioredis ได้สูงสุด 79% (ที่ concurrency 1,000 ทำซ้ำ 10 รอบ และที่ concurrency 100,000 ทำซ้ำ 10 รอบ เร็วได้มากกว่า 200% สูงสุด)
- ด้วยขนาดบันเดิลที่เล็กลง พื้นผิวของโค้ดจึงลดลง ทำให้ Attack Vector ลดลง และ Cold-Start ของโปรเซสเร็วมาก (memory footprint ที่ปรับให้เหมาะสม)
ขยายได้
- ไม่ได้มีแค่รีโพซิทอรี
Solidis แต่ยังมีส่วนขยายให้ด้วย
- https://github.com/vcms-io/solidis-extensions
- ทุกคนสามารถเพิ่มคำสั่งเพิ่มเติมได้อย่างง่ายดายด้วย
.extend(...) ของไคลเอนต์พื้นฐาน
- มี
Redlock, SpinLock และ distributed lock (Distributed Lock) อื่น ๆ ที่ถูกพัฒนาอย่างปลอดภัยมาให้ด้วย
อ้างอิง
- ถูกใช้งานอยู่ในสภาพแวดล้อม production เช่น
VCMS และ VCloud ของ VENDIT Inc.
2 ความคิดเห็น
https://linkedin.com/posts/…