Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

サーバーレスRedisのパイプラインRESTAPI

Upstashは、ネイティブのRedisAPIに加えてRESTAPIをサポートしています。 REST APIは、開発者がサーバーレスおよびエッジ関数からの接続の問題なしにRedisにアクセスするのに役立ちます。ただし、同じ関数で複数のRedisコマンドを実行する場合、これはデータベースを複数回呼び出すことを意味します。コミュニティメンバーの1人(@MasterGates)が、Discordチャンネルで素晴らしい提案をしてくれました。パイプラインAPI:

サーバーレスRedisのパイプラインRESTAPI

パイプラインAPI

Pipeline APIは、RedisPIPELINEコマンドをRESTAPIに適合させたものです。 1つのhttpリクエストで複数のコマンドを送信すると、1つのリクエストで応答が返されます。これにより、RTT(ラウンドトリップ時間)が短縮され、ソケットI / Oが削減されるため、アプリケーションのパフォーマンスが向上します。

リクエスト構文:

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

応答構文:

[
  { "result": "OK" },
  { "result": "OK" },
  { "error": "ERR value is not an integer or out of range" },
  { "result": 2 }
]
注文保証と原子性

Upstashは、パイプライン内のコマンドが同じ順序で実行されることを保証します。ただし、原子性は保証されません。他のクライアントから送信されたコマンドは、パイプラインとインターリーブできます。一部のコマンドは失敗する可能性がありますが、残りのコマンドは正常に実行されます。

パイプラインAPIのもう1つの制限は、コマンドを独立させる必要があるため、パイプライン内の別のコマンドがコマンドの応答を必要としないことです。

Upstash REST APIの詳細については、ドキュメントを確認してください。ユーザーがガイドするAPIの開発を続けているので、Twitterや不和でフィードバックを共有してください。


  1. Nuxt3とサーバーレスRedisの使用を開始する

    はじめに アプリケーションの使用状況を追跡したり、リソースの使用率を制限したり、キャッシュからデータをフェッチしてアプリのパフォーマンスを向上させたりする必要がある場合は、Redisがこれらの要件に対する答えであることがわかります。 Redisは、メモリ内のKey-Valueデータベースです。これはオープンソースであり、RemoteDictionaryServerの略です。 この記事では、Upstash、Redisデータベース、およびVueSSRフレームワークの最近のベータリリースであるNuxt3について説明します。これは、Redisデータベースについて説明する初心者向けの記事で、 Nux

  2. サーバーレスバトルグラウンド-DynamoDBvsFirestore vs MongoDB vs Cassandra vs Redis vs FaunaDB

    これは、2021年4月に公開されたブログ投稿の続きです。 一般的なWebユースケースとサーバーレス機能を使用して、主要なサーバーレスデータベースのパフォーマンスを比較するサンプルアプリケーションを構築しました。データベースは、DynamoDB、MongoDB(Atlas)、Firestore、Cassandra(Datastax Astra)、FaunaDB、Redis(Upstash)です アプリケーションとソースコードを確認してください。 比較したのは、データベースごとに上位10件のニュース記事を取得するまでの待ち時間です。全体のデータは、New YorkTimesAPIから収集