Memcached とは異なり、Redis はディスク上にデータを永続的に保存し、緊急シャットダウンの場合でもデータベースの安全性を保証します。 プロジェクトのソース コードは BSD ライセンスに基づいて配布されます。 クライアント ライブラリは、Perl、Python、PHP、Java、Ruby、Tcl などのほとんどの一般的な言語で利用できます。 Redis はトランザクションをサポートしています。これにより、コマンドのグループを XNUMX ステップで実行でき、特定のコマンド セットの実行における一貫性と整合性 (他のリクエストからのコマンドが干渉できない) が確保され、問題が発生した場合にはロールバックできます。変化します。 すべてのデータは RAM に完全にキャッシュされます。
データ管理には、インクリメント/デクリメント、標準のリストおよび集合演算 (和集合、交差)、キーの名前変更、複数選択、ソート機能などのコマンドが提供されます。 ディスクへのデータの定期的な同期と、ディスク上の変更ログのメンテナンスという XNUMX つのストレージ モードがサポートされています。 XNUMX 番目のケースでは、すべての変更の完全な安全性が保証されます。 ノンブロッキング モードで実行される、複数のサーバーへのマスター/スレーブ データ レプリケーションを構成することができます。 「パブリッシュ/サブスクライブ」メッセージング モードも利用できます。このモードではチャネルが作成され、そこからメッセージがサブスクリプションによってクライアントに配信されます。
鍵
- デフォルトでは、新しい RESP3 プロトコルが提案されますが、接続のセットアップは RESP2 モードで開始され、クライアントは接続のネゴシエーション時に新しい HELLO コマンドが使用された場合にのみ新しいプロトコルに切り替わります。 RESP3 を使用すると、クライアント側で汎用配列を変換する必要がなく、戻り値の型を分離することで、複雑なデータ型を直接返すことができます。
- アクセス制御リストのサポート (
ACL )、クライアントがどの操作を実行でき、どの操作が実行できないかを正確に判断できるようになります。 ACL を使用すると、開発中に起こり得るエラーを防ぐこともできます。たとえば、BRPOPLPUSH 操作のみを実行するハンドラーが他の操作を実行することを禁止できます。また、デバッグ中に追加された FLUSHALL 呼び出しが製品コードで誤って忘れられた場合、これにより、問題を引き起こすことはありません。 ACL を実装しても追加のオーバーヘッドは発生せず、パフォーマンスへの影響は事実上ありません。 ACL用のインターフェースモジュールも用意されており、独自の認証方式を作成することも可能です。 記録されたすべての ACL 違反を表示するには、「ACL LOG」コマンドが提供されます。 予測できないセッション キーを生成するために、SHA256 ベースの HMAC を使用する「ACL GENPASS」コマンドが追加されました。 - サポート
SSL / TLS クライアントとサーバー間の通信チャネルを暗号化します。 -
サポート クライアント側でデータをキャッシュします。 クライアント側キャッシュとデータベースの状態を調整するには、次の 1 つのモードが使用できます。 2. クライアント キャッシュ内のエントリの関連性の喪失を通知するために、クライアントが以前に要求したキーをサーバー上で記憶します。 XNUMX. 「ブロードキャスト」メカニズム。クライアントが特定のキー プレフィックスをサブスクライブし、これらのプレフィックスに該当するキーが変更された場合にサーバーがクライアントに通知します。 「ブロードキャスト」モードの利点は、サーバーがクライアント側でキャッシュされた値のマップを保存する際に追加のメモリを無駄にしないことですが、欠点は、送信されるメッセージの数が増加することです。 - Redis を使用してメッセージ キューを処理できるようにする Disque メッセージ ブローカーは、基本構造から削除されました。
別個のモジュール . - 追加した
クラスタープロキシ 、Redis サーバーのクラスターのプロキシ。これにより、クライアントは複数の Redis サーバーの作業を単一のインスタンスであるかのように整理できます。 プロキシは、必要なデータを含むノードにリクエストをルーティングし、接続を多重化し、ノード障害が検出された場合にクラスターを再構成し、複数のノードにまたがるリクエストを実行できます。 - モジュールを作成するための API が大幅に改善され、本質的に Redis をアドオン モジュールの形式でシステムを作成できるフレームワークに変えました。
- RDB ファイルは使用後すぐに削除されるレプリケーション モードが実装されています。
- PSYNC2 レプリケーション プロトコルが改良され、レプリカとマスターに共通のオフセットを識別する機会が増えることで、より頻繁に部分再同期を実行できるようになりました。
- RDBファイルの読み込みが高速化されました。 ファイルの内容に応じて、加速度は 20 ~ 30% の範囲になります。 多数のクライアントが接続されている場合の INFO コマンドの実行が大幅に高速化されました。
- 新しい STRALGO コマンドが追加され、複雑な文字列処理アルゴリズムが実装されました。 現在、利用可能な LCS (最長共通部分配列) アルゴリズムは XNUMX つだけであり、RNA 配列と DNA 配列を比較する場合に役立ちます。
出所: オープンネット.ru