Upstash ストレージ
Upstash のストレージ実装は、Upstash の Redis 互換のキー・バリュー・ストアを利用し、サーバーレス環境に適したストレージソリューションを提供します。
重要: Mastra を Upstash と組み合わせて使用する場合、エージェントの対話により大量の Redis コマンドが発行されるため、従量課金モデルでは予想外に高額な費用が発生する可能性があります。費用を予測可能にするため、固定料金プランのご利用を強く推奨します。詳細は Upstash pricing を、背景については GitHub issue #5850 を参照してください。
インストール
npm install @mastra/upstash@latest
使い方
import { UpstashStore } from "@mastra/upstash";
const storage = new UpstashStore({
url: process.env.UPSTASH_URL,
token: process.env.UPSTASH_TOKEN,
});
パラメータ
url:
string
Upstash Redis の URL
token:
string
Upstash Redis の認証トークン
prefix?:
string
= mastra:
保存されるすべてのキーに付与するプレフィックス
補足
キー構造
Upstash のストレージ実装はキー・バリュー型の構造を採用しています:
- スレッドキー:
{prefix}thread:{threadId}
- メッセージキー:
{prefix}message:{messageId}
- メタデータキー:
{prefix}metadata:{entityId}
サーバーレスの利点
Upstash のストレージはサーバーレス環境でのデプロイに特に適しています:
- 接続管理が不要
- リクエストごとの課金
- グローバルレプリケーションのオプション
- エッジ対応
データの永続化
Upstash では次の機能を提供します:
- データの自動永続化
- ポイントインタイム・リカバリ
- リージョン間レプリケーションのオプション
パフォーマンスに関する考慮事項
最適なパフォーマンスを得るために:
- 適切なキー・プレフィックスを用いてデータを整理する
- Redis のメモリ使用量を監視する
- 必要に応じてデータの有効期限の設定を検討する