新しいバージョンのDBMSRedis7.0はすでにリリースされています、Redisは、キー/値形式でデータを保存する機能を提供し、リスト、ハッシュ、セットなどの構造化データ形式のサポート、およびサーバー側のLuaスクリプトドライバーを実行する機能を拡張します。
Memcachedのようなインメモリストレージシステムとは異なり、Redisはディスク上のデータの永続的なストレージを提供し、異常なシャットダウンが発生した場合にデータベースのセキュリティを確保します。 プロジェクトのソーステキストは、BSDライセンスの下で配布されています。
クライアントライブラリは、Perl、Python、PHP、Java、Ruby、Tclなどの最も一般的な言語で利用できます。 Redisは、コマンドのグループをXNUMXつのステップで実行できるトランザクションをサポートし、一貫性と一貫性を確保します(他のリクエストからのコマンドはブロックできません)。問題が発生した場合は、ロールバックできます。変更。 すべてのデータはRAMに完全にキャッシュされます。
Redis7.0の主な新機能
提示されているDBMSのこの新しいバージョンでは サーバー側機能のサポートが追加されました、以前にサポートされていたLuaスクリプトとは異なり、 関数はアプリケーション固有ではなく、追加のロジックを実装することを目的としています サーバーの機能を拡張します。
関数は、レプリケーションや永続ストレージなど、アプリケーションではなく、データとデータベースに関連して密接に処理されます。
Redis 7.0で際立っているもうXNUMXつの目新しさは、 ACL第XNUMX版、これにより、キーに基づいてデータへのアクセスを制御でき、複数のセレクター(権限セット)を各ユーザーにバインドする機能を備えたコマンドのさまざまなアクセスルールのセットを定義できます。 各キーは特定の権限で識別できます。たとえば、アクセスを制限して、キーの特定のサブセットへの読み取りまたは書き込みのみを行うことができます。
これに加えて、 Redis7.0は A 断片化された実装 メッセージ配信パラダイムの パブリッシュ/サブスクライブ、はクラスター上で実行され、メッセージはメッセージチャネルが接続されている特定のノードに送信され、その後、このメッセージは船体に含まれる残りのノードにリダイレクトされます。 クライアントは、セクションのプライマリノードとセカンダリノードの両方に接続することにより、チャネルにサブスクライブすることでメッセージを受信できます。
また、 一度に複数の構成を処理する機能を提供しました 2回のCONFIGSET/ GET呼び出しで、オプション「–json」、「-XNUMX」、「– scan」、「–functions-rdb」がredis-cliユーティリティに追加されました。
デフォルトでは、 セキュリティに影響を与える設定やコマンドへのアクセスが無効になっている クライアントの場合(たとえば、DEBUGおよびMODULEコマンドが無効になっているため、PROTECTED_CONFIGフラグを使用して構成を変更することは禁止されています)。 Redis-cliは、機密データを含むコマンドの履歴ファイルへの送信を停止しました。
一方で、それは際立っていますeは、パフォーマンスの向上を目的とした最適化の大部分を行いました メモリ消費を削減します。 例えば、 メモリ消費が大幅に削減されました クラスターモードが有効になっている場合、コピーオンライト操作を実行している場合、およびハッシュキーとzsetキーを操作している場合に加えて、データをディスクにフラッシュするようにロジックが改善されました(fsyncと呼ばれます)。
修正された脆弱性CVE-2022-24735 Luaスクリプト実行環境では、独自のLuaコードをオーバーライドして、より高い特権を持つユーザーを含む別のユーザーのコンテキストで実行させることができます。
さらに、私たちは指摘することができます UbuntuおよびDebian用のRedisを含むパッケージの脆弱性(CVE-2022-0543) (この問題は個々のアセンブリに固有であり、Redis自体には関係ありません)。これにより、リモートサーバーで任意のLuaコードを実行し、Redisでスクリプトを実行するための環境サンドボックス分離メカニズムをバイパスできます。
nullポインタの逆参照が原因でredisサーバープロセスがクラッシュする可能性がある脆弱性CVE-2022-24736に対処しました。 攻撃は、特別に細工されたLuaスクリプトをロードすることによって実行されます。
最後にあなたが それについてもっと知りたい、 詳細は以下で確認できます リンク