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

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

RedisInsightは、Redisのための直感的で使いやすいGUIツールです。すべてのデータベースを一元管理し、データの操作を行えるほか、人気の高いRedisモジュールを標準でサポートしています。また、データベースのメモリ使用量の分析やパフォーマンスのプロファイリングに役立つツールも内蔵しています。

最新版となるRedisInsight 1.6では、開発者体験をさらに快適にするための新機能と改善が多数加わり、重要なマイルストーンを迎えました。本記事では、RedisInsightの最新アップデートについて詳しく解説します。

概要

今年に入ってから、私たちはRedisInsightの新版を複数回リリースしてきました。それぞれのバージョンには、新機能、機能強化、バグ修正が含まれています。主なハイライトは以下のとおりです。

  • RedisGearsベータ版:RedisGears関数のコーディング、ビルド、実行、管理をRedisInsightから直接行えます。
  • Redis 6とACL:最新のRedisリリースと、新しいアクセス制御リスト(ACL)機能をサポートしました。
  • マルチラインクエリ編集:RediSearch、RedisGraph、RedisTimeSeriesのクエリを複数行で記述・構造化できます。
  • CLI(コマンドラインインターフェース)の解放:より高速で制限のないredis-cliを実現し、出力フォーマットもよりクリーンになりました。
  • TLSサポート:TLS認証が必要なRedisデータベースへの接続が可能になりました。
  • Redisデータベースの自動検出:Redis Enterprise CloudおよびRedis Enterprise Software利用時の設定を素早く行えます。
  • フルスクリーンモード:グラフ、検索クエリ、時系列データを、邪魔されることなく大きな画面スペースと詳細な表示で操作できます。

クイックスタート

最新のRedisInsight 1.6.0は、ローカルインストールとDockerコンテナの両方で利用可能です。導入方法は以下のとおりです。

ローカルインストール:

Windows、Mac、Linux向けのRedisInsightをRedis公式サイトからダウンロードしてください。

Dockerインストール:

docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest

RedisInsightのインストールに関する詳細は、公式ドキュメントをご参照ください。

アップグレード:

バージョン1.2.2以降、新しいアップデートが利用可能になるとRedisInsightが通知します。または、OSからアプリケーションをアンインストールして再インストールすることでもアップグレードできます。なお、アップデートしても設定内容、特にデータベースの接続情報はすべて保持されます。

RedisInsight 1.6の新機能

RedisGearsベータ版サポート

RedisGearsは、データの分散やデプロイを抽象化しながら、Redis上でデータフローを実装する関数を作成・実行できる動的フレームワークです。RedisGearsを活用することで、アプリケーションのパフォーマンス向上やリアルタイムのデータ処理が可能になります。データが存在する場所でサーバーレスエンジンを稼働させ、Redis上でプログラミングや関数のデプロイを行えます。(詳細については、「Announcing RedisGears 1.0: A Serverless Engine for Redis」のブログ記事をご覧ください。)

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

RedisInsight 1.6には、アプリケーションのメインメニューからアクセスできる新しいツールが追加され、RedisGearsのサーバーレスエンジンと対話できるようになりました。このツールを使えば、直近に実行された関数の履歴を確認し、その結果(発生した場合はエラーも)を分析できます。実行のサマリーと、関数の処理内容に応じた結果データが表示されます。

RedisGearsでは、データに対する特定のイベントによってトリガーされる関数を登録することもできます。RedisInsight上では、登録済みの関数を管理・確認でき、UIにはRedis上で稼働中のすべての関数がひと目で表示されます。

さらに、シンプルなコードエディタも追加されました。お気に入りのIDEや開発ツールを置き換えることが目的ではなく、データをリアルタイムに処理するスクリプトや、特定のイベントの発生を捕捉するスクリプトを手軽に書けるようにするためのものです。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

この新機能は現在ベータ版です。ぜひRedis Community Forumでフィードバックやご意見をお聞かせください。

Redis 6とアクセス制御リスト(ACL)のサポート

RedisInsightはRedis 6と完全な互換性を持ち、シームレスかつ透過的に連携します。

Redis 6で導入された主要な新機能のひとつがアクセス制御リスト(ACL)です。ACLにより「ユーザー」という概念がRedisにもたらされ、ユーザーごとにRedisへのアクセスレベルを制御できるようになりました。特定のユーザーが実行できるコマンドや、アクセスできるキーを設定できます。これにより、各ユーザーの権限を必要最小限に制限するという、より優れたセキュリティ運用が可能になります。特に、アプリケーション内で複数のサービスを構築している場合に有効です。専用のユーザーを作成し、データベースに対して特定のコマンドセットのみを許可できます。ACLにより、ユーザーは指定された権限に基づいて、特定のコマンド、キー、あるいはキーのパターンにのみアクセスできるようになります。

定義された各ユーザーは独自のパスワードを持てます。RedisInsightからRedisに接続する際は、以下のように接続したいユーザー名とパスワードを指定できます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

注意:RedisInsightを使用するには、ユーザーが少なくともINFOおよびPINGコマンドの実行権限を持っている必要があります。これらのコマンドは、RedisInsightとRedisを正しく構成するために使用されます。

解放されたCLI

RedisInsightは多くの機能を使いやすいUIで提供していますが、場合によっては高度なコマンドを実行する必要があるかもしれません。そのための手段として、RedisInsightにはWeb CLIが統合されており、いつでもすぐにデータベースと対話できます。最新版では、ほとんどのコマンド制限を撤廃し、出力フォーマットのサポートも強化されました。

当初、RedisInsightユーザーがデータベース上で実行できるコマンドのリストを制限していました。しかし、ユーザーからの声として、その制限は必ずしも有用ではなく、redis-cliと同じようにすべてのコマンドを実行したいという要望が多く寄せられました。そこで、RedisInsightの統合CLIは、redis-cliがサポートするすべての非ブロッキングコマンドを実行できるようになりました。

redis-cliでのデータ操作やデータ構造の表示方法に慣れている方にとって嬉しいことに、RedisInsight 1.6ではまったく同じ方法でレンダリングされるようになりました。両者を切り替えても違和感なく作業を続けられます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

最後に、エスケープ文字列の入出力もredis-cliと同じように表示されます。

注意:現在、RedisInsightのCLIは一部のブロッキングコマンドや、標準的なストリーミング応答を返さない一部のコマンドをサポートしていません:MONITORSUBSCRIBEPSUBSCRIBESYNCPSYNCSCRIPT DEBUG

マルチラインクエリ編集

RediSearch、RedisGraph、RedisTimeSeries向けのクエリの作成・編集がより簡単になりました。マルチラインエディタを使えば、クエリをより見やすく構造化できます。クエリが長い場合や、理解しやすいように整形したい場合は、複数行が必要になることがよくあります。そこで、クエリエディタを改良し、複数行の使用を可能にしました。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

マルチラインクエリエディタの使い方は以下のとおりです。

  1. Shift+Enterでマルチラインモードに切り替え
  2. Enterキーで新しい行を追加
  3. Ctrl+Enterでクエリを実行

上下矢印キーで過去に実行したクエリ履歴を参照する際も、クエリのフォーマットは保持されていることがわかります。

セキュアな接続:TLSサポート

データへの不正アクセスを防ぎ、データベースとクライアント間の通信を暗号化するために、Redis EnterpriseデータベースでTLS(Transport Layer Security)プロトコルを有効にできます。(Redis EnterpriseデータベースでのTLS設定の詳細については、Redis Enterpriseドキュメントの「Configuring TLS Authentication and Encryption」をご参照ください。)

TLSが有効な場合、Redis Enterpriseは認証のためにクライアント証明書をデータベースへ送信します。TLSが有効なデータベースを設定するには、下のスクリーンショットに示す選択肢を使用してください。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

相互認証のためにクライアント認証が必要なデータベースの場合は、「Add Redis Database」フォームで「Require TLS Client Authentication」を選択するだけで、以下のように証明書とキーのペアを指定できます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

Redisデータベースの自動検出

最新版のRedisInsightでは、Redis Enterprise SoftwareまたはRedis Enterprise Cloudのデータベース接続情報をワンクリックで設定できます。「ADD REDIS DATABASE」ボタンをクリックすると、さまざまな場所からデータベースを検索できます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

Redis Enterpriseでは、特定のクラスタ上のデータベースを探索できます。接続情報を入力するだけでデータベースの一覧が表示され、RedisInsightで選択・設定できるようになります。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

Redis Cloud Enterprise(Proサブスクリプションのみ)では設定がさらに簡単です。アカウントキーとシークレットキーを入力するだけで、Redis Enterprise Cloudアカウントに接続し、すべてのデータベース一覧を取得できます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載 RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

複数のサブスクリプションをお持ちの場合は、どのサブスクリプションからデータベースに接続するかを選択できます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

注意:詳細については、RedisInsightドキュメントの「Automatically Discovering Databases」セクションをご覧ください。

RedisGraph、RedisTimeSeries、RediSearchのフルスクリーンモード

最新版のRedisInsightには、グラフやRediSearch・RedisTimeSeriesのデータを操作するための表示領域を最大化できる機能が統合されました。大量のデータを探索する際に便利で、画面共有やモデルのプレゼンテーション時にも活用できます。

RedisInsight 1.6リリース:RedisGearsサポートとRedis 6 ACL互換性を搭載

その他の注目すべき機能強化とバグ修正

その他の機能強化およびすべてのバグ修正については、RedisInsightドキュメントのRelease Notesセクションをご確認ください。

  1. サーバーレスRedisとReact Nativeで実現するアプリ内アナウンス機能の作り方

    モバイルアプリでは、重要なお知らせや警告、利用ガイドなどをエンドユーザーに届けたい場面がよくあります。その手段のひとつが「アプリ内アナウンス」です。本記事では、サーバーレスRedisを活用してユーザーへアナウンスを配信するモバイルアプリを実際に構築します。アプリ開発にはReact Nativeを使用し、サーバーレスRedisにはUpstashを採用して、アプリから直接接続する構成を実装します。アプリ内アナウンスとは?アプリ内アナウンスとは、重要な情報を伝えたり、ユーザーの操作について通知したり、特定の場所へ誘導したりするために、エンドユーザーへ送信されるメッセージのことです。この仕組みを使えば

  2. Nuxt 3とサーバーレスRedis(Upstash)で始めるページ訪問カウント実装

    Nuxt 3とサーバーレスRedis(Upstash)で始めるページ訪問カウント実装 アプリケーションの利用状況を追跡したり、リソース利用を制限したり、キャッシュからデータを取得してパフォーマンスを向上させたりする必要がある場合、Redisがその答えとなります。Redisはインメモリのキー・バリュー型データベースであり、オープンソースで「Remote Dictionary Server」の略称です。 この記事では、サーバーレスRedisサービスであるUpstashと、Vue SSRフレームワークの最新ベータ版であるNuxt 3を組み合わせた基本的なアプリケーション構築を通じて、Redisの基礎