APIを開発する際に、Redisからデータを取得したり、RedisデータベースへCRUD操作を行なったりする必要がよくあります。そこで、APIとRedisデータベースの連携を実現すると、APIのデータとデータベースのデータを照合したり、必要な時にデータを書き込んだりすることができるようになったので、データをより効率的に処理できるようになると思います。
Apidogという強力的なAPI管理ツールなら、Redisとの接続をサポートしているので、直感的なUIで、Redisに接続してCRUD操作を行なったり、RedisのデータをAPI開発に活用したりすることができますので、ぜひお試しください。
API開発際にRedisデータベースの活用
Redisはkey-valueストアを基盤としたオープンソースの高速なインメモリデータストアです。従来のSQLデータベースに比べてみると、Redisは低遅延で高速なデータ処理が可能にあり、高負荷なアクセスにも対応できます。そこで、リアルタイム処理と高負荷処理に向いているデータベースだと言えるのでしょう。
実際には、どんどん人気が高まっているRedisデータベースは、API開発においてもよく利用されるようになります。Redisがよく利用される主な原因は以下の通りです。
- APIから取得したデータをキャッシュする必要があるため
- 頻繁アクセスするデータをRedisに格納し、低負荷+高速化を実現
- APIのレスポンスを検証するためのテストデータが必要なため
- 検証用の事前データをRedisに格納し、レスポンスとの比較を行う
- 一時的なテストデータを簡単に準備/削除したいため
- RedisのTTL機能を利用し、自動消去されるテストデータをセットする
- 複数のAPI間やマイクロサービス間でデータ共有が必要なため
- Redis作共通データレイヤーとして機能し、データ連携を実現する
このように、API開発現場ではデータのキャッシュ、テスト用データ、共有データとしてRedisが活用されやすい状況が多く、これがRedis利用の主要な原因と言えます。柔軟なデータ構造もRedisの大きなメリットです。
ApidogでAPIとRedisとの連携を実現
API管理ツールのApidogの「データベース接続」機能を使って、Redisデータベースに接続して操作することができるので、作業の効率化を図ることができます。Apidogを使用して、Redisとの連携が実現され、次のようなことを実現することができます。
- Redisデータベースに1クリックで接続する
- Apidogを通じて、RedisデータベースのCRUD操作を行う
- 直感的なインターフェースでRedisデータベースを操作可能
- Redisのコマンドにも対応可能で、Redisコマンドを利用してデータベースを操作可能
- Redisからデータを取得して、APIリクエストのデータとして利用可能
- APIレスポンスデータがRedisのデータにピッタリするかを検証可能
- APIレスポンスデータを直接にRedisデータベースに書き込む
- その他
ApidogでRedisデータベースを操作する
Apidogを使って、Redisデータベースに接続すると、Apidog内でもRedisデータベースを操作することができるようになります。
ステップ⒈Apidogを開き、APIテスト画面で「前処理・後処理」で「前処理・後処理を追加」から「データベース操作」を選択すると、「データベース接続設定」でRedisを選択します。
ステップ⒉「操作タイプ」で実行したい操作の種類を選択した上、「内容」で具体的なキーと値を入力して、「送信」ボタンをクリックします。
ご案内:「コンソールに結果を表示する」オプションをスイッチオンにすると、「コンソール」タブでデータベースの実行結果を確認できるようになります。
RedisのデータをAPIのレスポンスを検証する
上記の手順を参照して、Redisのデータベースからデータを取得すると、そのリアルのデータを利用して、APIレスポンスを検証することができます。
ステップ⒈「変数に結果を抽出する」で変数名、変数タイプ及びJSONPathを記入して、「送信」ボタンをクリックすると、Redisデータベースから取得したデータを変数として保存できます。
ステップ⒉右上にある環境設定のアイコンをクリックして、変数が成功に追加できるかどうかを確認できます。
ステップ⒊後処理タブで「アサーション」ステップを追加します。「JSONPath式」でレスポンスからどのようなデータを抽出するかを定義した上、「アサーション」の条件を「先に保存した変数」に等しいと設定します。
ステップ⒋ここで「送信」ボタンをクリックすると、Apidogはレスポンスで返されたデータがデータベースのデータに一致するかどうかを自動的に検証してくれます。
APIのデータをRedisデータベースに書き込む
また、APIリクエストを送信して、レスポンスを取得できた場合、レスポンスで返された情報をRedisデータベースに追加することができます。
例えば、ユーザー情報というAPIエンドポイントから取得できたユーザーをUsersというデータベースに保存しようとする場合、まずRedisデータベースに保存したい情報をレスポンスから抽出する必要があります。
ステップ⒈当該APIの後処理で「抽出変数」をクリックして、抽出したい情報を定義します。ここで、ユーザーのIDとユーザーの名前を抽出する必要があるので、「抽出変数」を追加して、JSONPathを利用して、ユーザーの名前をnew_userといった環境変数に抽出します。
ステップ⒉後処理で「データベース操作」を追加して、データベース接続でRedisデータベースに接続してから、操作タイプ、Redisデータベースのキーを指定して、内容で先の変数を参照した上、「送信」ボタンをクリックすることで内容をRedisデータベースに追加できます。
まとめ
API開発において、データベースとの連携は欠かせません。その点で、Redisは高速性と柔軟性から、キャッシュやテストデータ、データ共有用のデータベースとして注目されています。
しかしながら、コーディングによるRedisへの接続や操作は手間がかかります。そこで、Apidogが力を発揮します。ApidogはGUIベースのAPI管理ツールで、Redisへの接続・CRUD操作をインターフェイス上から直感的に行えます。
Apidogの前処理や後処理と組み合わせることで、Redisからデータを取得してAPIのレスポンス検証に活用したり、レスポンスからデータを抽出してRedisに保存したりする、といったAPIとデータベースの連携も実現可能です。