90秒で解説!キャッシュとしてのRedis vs プライマリデータベースとしてのRedis
以前公開した「90秒でわかる、Redisがアプリケーションアーキテクチャをシンプルにする方法」という記事には多くの好評をいただきました。そこで今回は、「Redisをキャッシュとして使う場合」と「Redisをキャッシュ兼プライマリデータベースとして使う場合」の違いをテーマに、フォローアップ記事をお届けします。
プライマリデータベースをRedisに置き換える方法
Redisはもともとキャッシュ用途のデータベースとして誕生しましたが、その後大きく進化を遂げ、今では立派なプライマリデータベースとしても機能します。実際、近年開発される多くのアプリケーションが、Redisをプライマリデータベースとして採用しています。
しかしながら、ほとんどのRedisサービスプロバイダーは「キャッシュ用途」としてのRedisしかサポートしておらず、プライマリデータベースとしては対応していません。そのため、DynamoDBのような別のデータベースを併用せざるを得ないケースが多くあります。この構成では、システム全体が複雑化し、レイテンシも悪化し、Redis本来のパフォーマンスを最大限に引き出すことができません。
Redis Enterpriseなら、単一のシステム内で「インメモリキャッシュ」と「プライマリデータベース」の両方の役割をRedisに担わせることができます。これにより、複数システムを運用することで生じる複雑さやレイテンシの問題を根本から排除できます。さらに、Redis Enterpriseはマルチモデルのプライマリデータベースとしても活用できるため、モダンなアプリケーションや低レイテンシのマイクロサービスベースアーキテクチャを、すべてRedis上で構築することが可能です。
個別のデータベースやキャッシュサーバーに依存する代わりに、Redis Enterpriseがネイティブで提供する以下の機能を活用してみましょう。
- Streams:データの収集と配信
- RedisJSON:JSONドキュメントの保存
- RediSearch:セカンダリインデックスの構築
- RedisGraph:複雑な関係性データの管理
- RedisTimeSeries:アプリケーションの監視
- RedisBloom:ゲーミング、不正検出、リーダーボード向け機能
- RedisAI:リアルタイムAIフィーチャーストアと推論処理
さらに、これらの機能はオートスケーリング、エンタープライズクラスタリング、そしてActive-Active Geo Replication(アクティブ・アクティブ地理的レプリケーション)といったエンタープライズ級の機能と組み合わせることで、より高い可用性と拡張性を実現します。
以下の動画で、具体的なイメージをつかんでみてください。
次のステップ
-
Nuxt 3とサーバーレスRedis(Upstash)で始めるページ訪問カウント実装
Nuxt 3とサーバーレスRedis(Upstash)で始めるページ訪問カウント実装 アプリケーションの利用状況を追跡したり、リソース利用を制限したり、キャッシュからデータを取得してパフォーマンスを向上させたりする必要がある場合、Redisがその答えとなります。Redisはインメモリのキー・バリュー型データベースであり、オープンソースで「Remote Dictionary Server」の略称です。 この記事では、サーバーレスRedisサービスであるUpstashと、Vue SSRフレームワークの最新ベータ版であるNuxt 3を組み合わせた基本的なアプリケーション構築を通じて、Redisの基礎
-
Redis MOVEコマンドの使い方 – キーを別のデータベースへ移動する方法
このチュートリアルでは、Redisデータストア上でキーをあるデータベースから別のデータベースへ移動する方法を解説します。キーの移動には、redis-cliで使用できるMOVEコマンドを利用します。 MOVEコマンドは、現在選択されているデータベース(ソース)から指定したキーを削除し、そのキーを移動先(デスティネーション)のデータベースに挿入するために使用されます。なお、以下の場合は操作が実行されず、戻り値として0が返されます。 指定したキーがソースデータベースに存在しない場合 同じ名前のキーがすでに移動先のデータベースに存在する場合 構文 Redis MOVEコマンドの基本構文は以下のとお