-
UpstashがPlanTripAIの急成長を支える技術戦略と成功事例を徹底解説
本記事では、AI駆動型の旅行プランニングスタートアップ「PlanTripAI」の開発において、Upstashが果たした重要な役割について詳しく解説します。Upstash Redisの活用は、ユーザーアクセス用のライセンスキーの保存や、旅行コンテンツの効率的な保存・キャッシュといった重要な要素の管理に不可欠でした。さらに、UpstashのRate Limit機能はシステム保護において重要な役割を担っています。リクエスト頻度を適切に制御することで、潜在的なセキュリティ脅威から堅牢に守り、ユーザーへ快適で中断のないサービスを提供することを可能にしています。 plantripai.comは、目的地、滞
-
Upstash Redis と Fly.io でリアルタイムのエッジリーダーボードを構築する方法
Upstash Redis と Fly.io でエッジにリーダーボードを構築する 動的で魅力的な Web アプリケーションにおいて、リーダーボード(ランキング表)はユーザーの競争意欲を煽り、エンゲージメントを高めるための強力なツールです。このチュートリアルでは、Upstash Redis をバックエンドストレージとして使い、Fly.io でエッジにデプロイすることで、リアルタイムのリーダーボードを構築していきます。サーバーレス Redis サービスの効率性と、Fly.io のグローバル分散機能を組み合わせることで、世界中のユーザーに低レイテンシでのアクセスを提供できます。 Upstash Re
-
RedisリストとTypeScriptで独自のメッセージキューを構築する方法
自分専用のメッセージキューを作ろうとして、思わぬ壁にぶつかった経験はありませんか?もしそうなら、あなたは決して一人ではありません。このチュートリアルでは、Redisのリスト(List)を使ってメッセージキューをゼロから構築していきます。Redisでメッセージキューを実装する方法には、Streams、Lists、Pub/Subなど複数の選択肢がありますが、本記事では最もシンプルで分かりやすい「リスト」方式に絞って解説します。それでは、実践的なガイドを見ていきましょう。使用するものUpstash自分の手(と少しのやる気)必要な環境Bun自分の手Upstash RedisのセットアップまずはRedi
-
Upstash Redis Python SDK v1.0.0登場 – コネクションレスでサーバーレス環境に最適なHTTPクライアント
Upstashは、Python向けRedisクライアントライブラリ「upstash-redis」のバージョンv1.0.0をリリースしました。GitHubおよびPyPIから入手可能です。 このパッケージは、コネクションレスなHTTPベースのクライアントとして設計されており、AWS LambdaやGoogle Cloud Functionsなどのサーバーレス環境、あるいはTCPよりもHTTPが好まれるあらゆる環境での利用に適しています。 新機能・変更点 新しいバージョンでは、すべてのコマンドに対して使用例を含むPythonのdocstring(ドキュメンテーション文字列)が追加されました。エディ
-
Upstash KafkaとMongoDBコネクタで実現する低レイテンシセグメンテーションプラットフォームの構築
はじめに セグメンテーションプラットフォームは、顧客や製品といった関連データを理解し、分類するうえで重要な役割を担います。 セグメンテーションとは、一定の基準に基づいて大きなグループを、より均質性の高い小さなサブグループへ分割することです。たとえばECサイトにおける顧客セグメンテーションでは、パーソナライズされたマーケティング施策の立案、ターゲットを絞ったプロモーションの実施、きめ細かなショッピング体験の提供などが可能になります。 目次 要件の把握 基本アーキテクチャ アーキテクチャ構成要素 設計上の課題 提案ソリューション まとめ 1. 要件の把握 EC向けの顧客セグメントを対象とし
-
UpstashとNode.jsで構築するリアルタイム記事レコメンデーションエンジンの作り方
GoogleやPerplexity.aiを使ったことはありませんか?最新の検索結果に、オンライン記事へのリンクが含まれている仕組みについて不思議に思ったことはないでしょうか。本ガイドでは、そのようなシステムを自分の手で構築する方法を学びます。追加した記事のリンクから「知識ベース」を育てていき、それをもとにレコメンデーションを生成できるシステムを作ります。 前提条件 このガイドを進めるには、以下が必要です。 Node.js 18以降 Upstashアカウント OpenAIアカウント Fly.ioアカウント 技術スタック 技術説明 Upstashサーバーレスデータベースプラットフォーム。本
-
自動パイプライン処理でv0.devのロード時間を50%短縮
Vercel KVはWebプロジェクトにとって非常に有用なツールですが、多用するとHTTPリクエスト数が急増し、パフォーマンスに悪影響を及ぼす可能性があります。Redisのパイプラインを使えばコマンドをまとめてリクエスト数を削減できますが、実装は決して簡単ではありません。パイプラインの効率性と、基本的なRedisコマンドの手軽さを両立できる解決策はあるのでしょうか?そこで登場するのが自動パイプライン(auto-pipelining)です。コードの複雑化を避けながら、シームレスにパフォーマンスを向上させることができます。 課題 Redisをデータソースとして大量に利用するWebページを構築したと
-
UpstashとVercel AI SDKで高度なAIアプリケーションを構築する方法
本記事では、Upstash Redis、Upstash Vector、そしてVercel AI SDKを活用して実現できるAIアプリケーションについて詳しく解説します。それぞれのツールが持つ独自の機能や特徴を掘り下げながら、これらを統合することで強力かつ効率的なAIソリューションをどのように構築できるのかを見ていきます。各ツールの機能を確認しつつ、具体的なアプリケーション例についても簡単に紹介します。 Upstash Vectorとは まず、ベクトルとベクトルデータベースの基本から理解しましょう。 ベクトルデータベースは、数値配列形式(ベクトル)でデータを保存・検索するために特化したデータスト
-
Upstash Redis と Upstash Workflow で作るスケーラブルなニュースレターアプリ
この記事では、ユーザーが購読登録を行い、ニュースレターの受信頻度を選択できるニュースレターアプリを構築します。購読データの保存には Upstash Redis を使用し、データの保存・ウェルカムメールの送信・ユーザーの設定に基づいたニュースレターの定期配信といった一連の処理の管理には Upstash Workflow を活用します。 開発の動機 まず前提として、サーバーレス環境は非常に優れています。高いスケーラビリティを備え、コスト面でも有利です。しかし一方で、実行時間の制限など、いくつかの制約も存在します。特に、長時間の実行が必要なタスクを扱う場合、この制限が大きな障害になることがあります。
-
React Server Componentsで実装するリアルタイム閲覧数カウンターの作り方
このチュートリアルでは、React Server Components(RSC)の仕組みを理解した上で、その知識を活かしてアプリにシンプルな閲覧数カウンターを実装していきます。すぐに実装に取り掛かりたい方は、「プロジェクトのセットアップ」までスキップしてください。 React Server Componentsを理解する React Server Componentsがどのように動作するのかを理解するために、まずクライアントサイドレンダリング(CSR)とサーバーサイドレンダリング(SSR)について簡単におさらいしましょう。 クライアントサイドレンダリング(CSR) CSRでは、レンダリング処理
-
Next.jsとUpstash Redisで実現する安全なセッション管理の完全ガイド
本ガイドでは、Upstash Redisを使用したNext.jsアプリケーションにおけるセッション管理について解説します。Webアプリケーションにおける「セッション」とは何か、なぜRedisがセッション管理に最適なのか、Upstash Redisデータベースのセットアップ方法、そして実際にNext.jsアプリケーションへ統合する手順まで、順を追って学んでいきましょう。 「セッション」とは何か? Webアプリケーションにおける「セッション」とは、一定時間内の複数のHTTPリクエストにわたって、ユーザーとアプリケーションのやり取りの状態(ステート)を維持するための一時的なサーバー側ストレージの仕組
-
Upstash RedisとCloudflare Workersで安全なAPIキーを作成する方法:ステップバイステップ完全ガイド
APIキーは、サービスへの「玄関の鍵」のようなものです。ユーザーを適切に受け入れながら、不正なアクセスからシステムを守ります。本記事では、高速なサーバーレスデータストアであるUpstash Redisと、エッジでリクエストを処理できるCloudflare Workersを組み合わせて、シンプルかつ安全なAPIキージェネレーターを構築する方法を解説します。新規サービスの立ち上げでも、既存アプリへの機能追加でも、APIキーの生成・保存・検証の流れを学び、効率的かつ安全な運用を実現しましょう。 APIキーとは? APIキーとは、あなたのAPIへアクセスしようとするユーザーやアプリケーションを識別・認
-
Redisキャッシュでグローバルデータベースのパフォーマンスを高速化する方法
ソフトウェアアプリケーションの価値は、顧客のニーズにどれだけ応えられるかによって決まります。顧客のニーズを考えるとき、最初に求められるのがアプリケーションの速度とデータの信頼性です。しかし、アプリケーションが成長しグローバルに展開されるにつれて、クエリ量の増加、レイテンシの上昇、地理的に分散したユーザーベースにより、SQLデータベースがパフォーマンスのボトルネックになることが少なくありません。 アプリケーションの成長に伴うこれらの課題に対処するため、まず検討すべき解決策の一つがキャッシュです。キャッシュを導入することで、繰り返されるクエリによるプライマリデータベースへの負荷を軽減し、ユーザーが
-
Upstash RedisキャッシュでPrisma ORMのパフォーマンスを向上させる方法
前回のブログ記事では、キャッシュのメリット、一般的なキャッシュ手法、そしてUpstash Redisを使ってSQLデータをキャッシュする方法を、さまざまなコードサンプルとともに解説しました。 Upstash RedisによるSQLクエリのキャッシュについて、その詳細とメリットを確認したところで、今回はさらに一歩進めて実際の実装を見ていきましょう。そのためにまず、広く使われているORMであるPrismaを取り上げ、Upstash Redisによるキャッシュがデータベースクエリに対してどのように機能するかを確認します。 この記事では、Upstash RedisとPrismaを統合し、キャッシュアサ
-
Upstash RedisでLaravelのセッション管理を強化する方法
HTTPはステートレス(状態を持たない)なプロトコルです。つまり、サーバーへの各リクエストは完全に独立しており、以前のリクエストに関する情報は一切保持されません。認証情報やユーザーの設定など、ユーザー固有のデータを複数のリクエストにまたがって保持する必要がある動的なWebアプリケーションを構築する際には、これが大きな課題となります。この制限を克服するために、Webアプリケーションでは「セッション」を利用して、リクエスト間でデータを保存・取得しています。 最も人気のあるPHPフレームワークの一つであるLaravelは、こうしたステートフルな要件に対応できる、柔軟かつ堅牢なセッション管理システムを
-
Envflowの構築:LaravelとUpstash Redisで環境変数を安全に共有する方法
最近、Nuno Maduro氏のプロジェクト「Pyre」に大きな刺激を受けました。Pyreは、短命の秘密メッセージを誰にでも送信できるWebアプリです。メッセージは保存時に暗号化され、復号リンクを持つ本人か共有相手だけが内容を読める仕組みになっています。 私はUpstash Redisを使って似たようなサービスを作りたいと考え、テーマとして「環境変数の共有」というニッチな領域を選びました。チームメイトと機密情報を共有しなければならず、「これを安全に行えるシステムをどう作ればいいのか?」と悩んだ経験は、誰にでも一度はあるのではないでしょうか。 そこでご紹介するのが「Envflow」です。私が構築
-
5分で自作MCPサーバーを構築!Model Context Protocol入門ステップバイステップガイド
Model Context Protocol(MCP)とは? Model Context Protocol(略称:MCP)は、AIを外部APIやリアルタイムデータなどに接続するための標準化プロトコルです。2024年末にAnthropicによって発表されました。 MCPサーバーは、天気情報の取得、テキスト翻訳、APIとの連携などを行う「ツール」だとイメージしてください。AIエージェントは、現在のタスクにおいてそのツールが役立つと判断した場合、自律的に呼び出すことができます。 たとえばUpstashのMCPを使えば、Cursorがデータベースを直接操作できるようになります。通常のClaude単体で
-
SQLパフォーマンスを劇的に向上:Drizzle ORMクエリのためのUpstash Redisキャッシュ活用法
先日、私たちはDrizzle ORMとのコラボレーションを実現する機会に恵まれました。 TypeScript ORMとしてコミュニティから絶大な支持を集めるDrizzle ORM。そのため、「はい 😳」と答えるのは簡単な決断でした: 本記事では、Upstash Redis × Drizzleのキャッシング統合がどのようにSQLパフォーマンスを向上させるのか、そしてLuaスクリプトとハッシュデータ構造を活用してこの統合を最適化した手法について詳しく解説します。 課題:モダンアプリケーションにおけるSQLパフォーマンス 従来のSQLデータベースは一貫性や複雑なリレーションのモデル化に優れていま
-
Redisのソート済みセットで実現する、ユーザー行動から学ぶスマートオートコンプリート
検索ボックスに文字を入力すると候補が次々と表示される——この体験は誰もが日常的に目にしているはずです。しかし、その多くの候補は単純にアルファベット順に並んでいるだけで、必ずしも役立つとは限りません。もし検索ボックスが使われるほど「賢く」なっていったらどうでしょうか?ユーザーが実際にクリックした結果から学び、人気の高い候補を優先的に表示する——そんな仕組みです。本記事で構築するのはまさにこれです:Redisのソート済みセット(Sorted Set)を活用し、ユーザーの行動から学習しながら精度を高めていく(人気の結果を上位に表示する)インテリジェントなオートコンプリートシステムの作り方を解説します
-
Mastra と Upstash で構築する AI 論文リサーチアシスタント完全ガイド
AI リサーチエージェントの概要 学術研究の世界は動きが速く、arXiv をはじめとするプレプリントサーバーには毎日新しい論文が投稿されています。すべてを目視で追いかけるのは現実的ではありません。そこで本記事では、次のようなことができる AI リサーチアシスタント の構築方法を解説します。 研究者が自然言語で入力した質問を理解する arXiv のアブストラクトを格納したベクトルデータベースから最も関連性の高い論文を検索する 重要な知見を要約し、それが質問にどう答えているのかを説明する さらに詳しく読むための PDF への直接リンクを提示する 実現には、AI エージェント構築用のオープンソー