Valkeyの概要
- 概要
Valkeyは、データベース、キャッシュ、メッセージブローカ、ストリーミングエンジンとして優れた機能を備えたオープンソースのインメモリデータ構造ストアです。Valkeyは、アプリケーションの高速化と、強化されたマルチスレッドと信頼性による多様なデータニーズの効率的な管理に不可欠な、高性能でスケーラブルかつ多用途なインメモリデータストアを提供します。
- 目的
Valkeyのインストールと設定方法を習得します。
- 所要時間
理解に40分ほどを要します。
- 目標
SUSE Linux Enterprise Server for SAP applicationsへのValkeyの設定、またはRedisからValkeyへの移行。
1 Valkeyについて #
ValkeyはRedisバージョン7.2.4のフォークです。Valkeyは、BSD (Berkeley Software Distribution)ライセンスに基づいてライセンスされたオープンソースのインメモリデータ構造ストアであり、さまざまなアプリケーション用の多用途プラットフォームとして機能します。高速で柔軟なデータ ストレージを提供するデータベースとして、アプリケーションパフォーマンスを大幅に向上させキャッシュとして、非同期通信を可能にするメッセージブローカとして、さらにリアルタイムデータ処理のためのストリーミングエンジンとしても優れています。ValkeyはRedis OSSの基盤の上に構築され、パフォーマンスを向上させるマルチスレッドを組み込んでおり、速度、スケーラビリティ、多様なデータ処理機能を要求するアプリケーション向けに堅牢なソリューションを提供します。
Valkeyには、次のような多くの利点があります。
メモリに保存されたデータへの高速で低遅延なアクセスを提供し、キャッシュ、リアルタイム分析、メッセージブローカリングに最適です。
文字列、ハッシュ、リスト、セット、ソートされたセット、ストリーム、地理空間インデックスなどの強力で多用途なデータ構造をサポートします。
再起動後のデータの回復のために、RDB (Redis Database Backup)スナップショットとAOF(追加専用ファイル)の永続性を提供します。
複数のノードにデータを分割することにより、水平スケーリングを可能にします。
Redis 7.2との互換性が維持されているため、既存のクライアントライブラリやアプリケーションロジックを変更せずに簡単に移行できます。
イベント駆動型またはメッセージングベースのシステムを構築するための組み込みのパブリッシュ/サブスクライブ機能を提供します。
Valkeyの詳細については、https://valkey.io/docs/を参照してください。
2 Valkeyの管理 #
Valkeyをインストールし、コマンドラインツールを使用し、RedisからValkeyに移行する方法を習得します。
2.1 Valkeyサービスファイルの設定 #
Valkeyは、データベース、キャッシュ、メッセージブローカ、ストリーミングエンジンとして機能するオープンソースのインメモリデータストアです。
systemdサービスファイルの作成 #Valkeyをインストールします。
>sudozypper -n in valkeyValkey
systemdサービスファイルを作成します。>sudovi /etc/systemd/system/valkey.serviceファイルに次の指定を追加します。
[Unit] Description=Valkey In-Memory Data Store After=network.target [Service] User=valkey Group=valkey ExecStart=/usr/sbin/redis-server /etc/redis/valkey.conf LimitNOFILE=10240 ExecStop=/usr/bin/valkey-cli shutdown Restart=always [Install] WantedBy=multi-user.targetサンプルファイルを指定された設定ファイルにコピーします。
>sudocp /etc/valkey/default.conf.example /etc/valkey/valkey.confファイルアクセス権を更新します。
>sudochown valkey:valkey /etc/valkey/valkey.confValkeyサービスを開始して有効にします。
>sudosystemctl start valkey>sudosystemctl enable valkeyValkeyのセットアップを確認します。
valkey-cli ping
このコマンドに対して
PONGと表示されたら、Valkeyがシステム上で実行されています。
2.2 Valkeyコマンドラインインタフェース #
Valkeyコマンドラインインタフェースは、Valkeyの管理、デバッグ、およびテストに使用されます。デフォルトでは、valkey-cliコマンドはアドレス127.0.0.1、ポート6379のサーバに接続します。
valkey-cliコマンドオプションには次のものが含まれます。
-
-h デフォルトのIPが127.0.0.1であるサーバホスト名。
-
-p デフォルト値が6379のサーバポート。
-
-t サーバ接続のタイムアウト(秒単位、小数点も使用可能)。デフォルトのタイムアウトは
0で、無制限を意味し、オペレーティング システムによって異なります。-
-s サーバソケットはホスト名とポートを上書きします。
-
-a サーバに接続するときに使用するパスワード。
VALKEYCLI_AUTH環境変数を使用して、このパスワードをより安全に渡すこともできます。両方のオプションが使用される場合、この引数が優先されます。-
--user ACL(アクセス制御リスト)スタイルを送信するために使用されるユーザ名。
AUTH username passです。-aオプションが必要です。-
--pass 新しい
--userオプションに合わせるため、-aオプションのエイリアスとなるパスワード。-
--askpass マスク付きのSTDIN経由のパスワード入力を強制します。この引数が使用されると、
-aおよびVALKEYCLI_AUTH環境変数は無視されます。-
-u valkey://user:password@host:port/dbnum形式のサーバURI。ユーザ、パスワード、dbnumはオプションです。ユーザ名なしの認証の場合は、ユーザ名defaultを使用します。TLSの場合は、スキームvalkeysを使用します 。-
--help ヘルプを出力して終了します。
-
--version バージョンを出力して終了します。
-
--cluster help 利用可能なすべてのクラスタマネージャコマンドを一覧表示します。
valkey-cliコマンド例: #SET:キーと値のペアを設定します。>valkey-cli SET KEY_NAME "Hello Valkey"次に例を示します。
>valkey-cli SET TESTKEY "Hello Valkey"GET:キーに関連付けられた値を取得します。>valkey-cli GET TESTKEY "Hello Valkey"DEL:キーを削除します。>valkey-cli DEL TESTKEY (integer) 1削除された場合は
1、見つからない場合は0。INFO:Valkeyサーバに関する情報と統計情報を表示します。>valkey-cli INFO Server redis_version:7.2.4 server_name:valkey valkey_version:8.0.2 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:e0cc1d08b1f9571a server_mode:standalone os:Linux 6.12.0-160000.9-default x86_64 arch_bits:64 monotonic_clock:POSIX clock_gettime multiplexing_api:epoll gcc_version:13.3.1 process_id:974 process_supervised:no run_id:32864c141804bcb17cae98145beee86ca251afd7 tcp_port:6379 server_time_usec:1750760734442451 uptime_in_seconds:2780 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:5930270 executable:/usr/sbin/redis-server config_file:/etc/valkey/valkey.conf io_threads_active:0 availability_zone: [...]MONITOR:Valkeyサーバによって処理されたすべてのコマンドをリアルタイムでストリーミングします。>valkey-cli MONITOR OKKEYS:パターンに一致するすべてのキーを検索します。>valkey-cli KEYS "*" # All keys "TESTKEY" "TESTKEY1"
2.3 RedisからValkeyへの移行 #
Valkeyは、Redis API、プロトコル、永続データ、ポート、設定ファイルとの互換性を維持しながら、シームレスな代替となるように設計されています。多くの基本的な設定では、RedisからValkey への移行は簡単です。次の手順では、Redisがインストールされ、実行されており、データがロードされていることを前提としています。
現在のRedisサーバのバージョンを確認します。
>redis-cli info server # Server redis_version:7.2.4 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:8c22b097984bd350 redis_mode:standalone [...]--force-resolutionオプションを指定してvalkey-compat-redisパッケージをインストールします。>sudo# zypper in --force-resolution valkey-compat-redis Refreshing service 'NVIDIA'. Refreshing service 'openSUSE'. Loading repository data... Reading installed packages... Resolving package dependencies... The following 2 NEW packages are going to be installed: valkey valkey-compat-redis The following package is going to be REMOVED: redis 2 new packages to install, 1 to remove. Package download size: 1.3 MiB Package install size change: | 5.2 MiB required by packages that will be installed -245.2 KiB | - 5.4 MiB released by packages that will be removed Backend: classic_rpmtrans Continue? [y/n/p/...? shows all options] (y):このパッケージは、既存の設定ファイルと永続データを取得し、追加の手順を必要とせずにValkeyに移行します。この移行は、ValkeyがRedis API、プロトコル、永続データ、ポート、設定ファイルと完全に互換性があるために可能になります。
Valkeyを起動して有効にします。
>sudosystemctl start valkey>sudosystemctl enable valkeyサーバ情報を確認します。
>redis-cli info server # Server redis_version:7.2.4 server_name:valkey valkey_version:7.2.5 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:b0d9f188ef999bd3 redis_mode:standalone [...]Valkeyは
redis_version:7.2.4とvalkey_version:7.2.5の両方に対応しています。redis_versionを保持することで、valkey_versionでサーバを識別しながら、最大限の互換性を確保できます。Valkeyには、valkey-cliというバイナリがありますが、シンボリックリンクでredis-cliを参照しています。どちらのCLIも同じ機能を備えています。
3 法的事項 #
Copyright© 2006–2025 SUSE LLC and contributors. All rights reserved.
この文書は、GNUフリー文書ライセンスのバージョン1.2または(オプションとして)バージョン1.3の条項に従って、複製、頒布、および/または改変が許可されています。ただし、この著作権表示およびライセンスは変更せずに記載すること。ライセンスバージョン1.2のコピーは、「GNU Free Documentation License」セクションに含まれています。
SUSEの商標については、https://www.suse.com/company/legal/を参照してください。その他の第三者のすべての商標は、各社の所有に帰属します。商標記号(®、™など)は、SUSEおよび関連会社の商標を示します。アスタリスク(*)は、第三者の商標を示します。
本書のすべての情報は、細心の注意を払って編集されています。しかし、このことは正確性を完全に保証するものではありません。SUSE LLC、その関係者、著者、翻訳者のいずれも誤りまたはその結果に対して一切責任を負いかねます。