Upstash รองรับ REST API นอกเหนือจาก Native Redis API REST API ช่วยให้นักพัฒนาเข้าถึง Redis โดยไม่มีปัญหา Connection จากฟังก์ชัน Serverless และ Edge แต่ถ้าคุณรันคำสั่ง Redis หลายคำสั่งในฟังก์ชันเดียวกัน หมายความว่าคุณจะเรียกฐานข้อมูลหลายครั้ง สมาชิกชุมชน (@MasterGates) เสนอแนวคิดที่ยอดเยี่ยมในช่อง Discord ของเรา: Pipeline API

Pipeline API
Pipeline API เป็นการปรับ Redis PIPELINE Command ให้ทำงานกับ REST API คุณส่งหลายคำสั่งใน HTTP Request เดียว และได้รับการตอบสนองใน Request เดียว นี่ปรับปรุงประสิทธิภาพแอปพลิเคชันโดยลด RTT (Round Trip Time) และลด Socket I/O
รูปแบบ Request:
curl -X POST https://us1-merry-cat-32748.upstash.io/pipeline \
-H "Authorization: Bearer 2553feg6a2d9842h2a0gcdb5f8efe9934" \
-d '[ ["SET", "key1", "valuex"], ["SETEX", "key2", 13, "valuez"], ["INCR", "key1"], ["ZADD", "myset", 11, "item1", 22, "item2"] ]'
รูปแบบ Response:
[
{ "result": "OK" },
{ "result": "OK" },
{ "error": "ERR value is not an integer or out of range" },
{ "result": 2 }
]
การ保证ลำดับและ Atomicity
Upstash 保证ว่าคำสั่งใน Pipeline จะถูกดำเนินการในลำดับเดียวกัน แต่ไม่保证 Atomicity คำสั่งจากไคลเอ็นต์อื่นอาจแทรกแซงกับ Pipeline บางคำสั่งอาจล้มเหลว ในขณะที่คำสั่งอื่นดำเนินการสำเร็จ
ข้อจำกัดอีกอย่างของ Pipeline API คือ คำสั่งของคุณต้องเป็นอิสระต่อกัน กล่าวคือ ผลลัพธ์ของคำสั่งหนึ่งไม่ควรถูกต้องโดยคำสั่งอื่นใน Pipeline เดียวกัน
ดู เอกสารประกอบ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Upstash REST API เราพัฒนา API ตามคำแนะนำจากผู้ใช้ โปรดแชร์ฟีดแบ็กที่ Twitter หรือ Discord