Computer >> Máy Tính >  >> Lập trình >> Redis

API Pipeline REST trên Serverless Redis

Upstash hỗ trợ API REST ngoài API Redis gốc. REST API giúp các nhà phát triển truy cập Redis của họ mà không gặp sự cố kết nối từ các chức năng không máy chủ và cạnh. Nhưng nếu bạn thực thi nhiều lệnh Redis trong cùng một hàm thì điều này có nghĩa là bạn sẽ thực hiện lệnh gọi đến cơ sở dữ liệu nhiều lần. Một trong những thành viên cộng đồng của chúng tôi (@MasterGates) đã đưa ra một đề xuất tuyệt vời trong kênh Discord của chúng tôi. API đường ống:

API Pipeline REST trên Serverless Redis

API đường ống

API Pipeline chỉ là sự điều chỉnh của lệnh Redis PIPELINE thành API REST. Bạn gửi nhiều lệnh trong một yêu cầu http duy nhất, các phản hồi được trả lại trong một yêu cầu duy nhất. Điều này cải thiện hiệu suất của ứng dụng của bạn bằng cách giảm RTT (thời gian khứ hồi) cũng như giảm I / O ổ cắm.

Cú pháp yêu cầu:

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"]
   ]
   '

Cú pháp phản hồi:

[
  { "result": "OK" },
  { "result": "OK" },
  { "error": "ERR value is not an integer or out of range" },
  { "result": 2 }
]

Đảm bảo đơn hàng và tính nguyên tử

Upstash đảm bảo các lệnh trong đường dẫn được thực hiện theo cùng một thứ tự. Nhưng tính nguyên tử không được đảm bảo. Các lệnh được gửi bởi các máy khách khác có thể xen kẽ với đường ống. Một số lệnh có thể không thành công trong khi các lệnh còn lại được thực thi thành công.

Một hạn chế khác của API đường ống là các lệnh của bạn phải độc lập, do đó, lệnh khác trong đường dẫn không cần phản hồi của một lệnh.

Kiểm tra tài liệu của chúng tôi để tìm hiểu thêm về Upstash REST API. Chúng tôi tiếp tục phát triển API do người dùng của chúng tôi hướng dẫn, vì vậy vui lòng chia sẻ phản hồi của bạn về twitter hoặc sự bất hòa.