NCache は、.NETベースとJavaベースの両方のアプリケーション用のオープンソースのメモリ内分散キャッシュです。 NCache 線形スケーラビリティの容易さで、ミッションクリティカルなアプリの非常に高速なトランザクション速度を達成するのに役立ちます。
NCache は、メモリ内の性質と分散アーキテクチャにより、非常に高速でスケーラブルなオープンソースデータストアです。 唯一の100%.NET / .NET Core 他のソリューションはC++およびLinuxベースであるため、市場に出回っているソリューションは、アプリケーションの.NETスタックに非常にうまく適合します。 これは、.NET開発者コミュニティで人気のあるキャッシュソリューションであり、過去15年間で.NETマーケットリーダーになっています。
あなたはおそらく使用することによって利益を得るでしょう NCache アプリケーションが次のカテゴリのいずれかに属している場合:
極端なトランザクション負荷の処理: アプリケーションは、ピーク時に大量のトランザクションを処理する必要があります。 NCache ダウンタイムなしですべてのトランザクション負荷を処理できます。
顧客向けのWebサイト: 主に顧客向けのWebサイトやオンラインストアを介して取引のほとんどを行う小売業、または製品をオンラインで販売する純粋なeコマースビジネスは、 NCache 高可用性のため。 同じく、 NCache 主要なスポーツイベント中に顧客がログインしてリアルタイムで賭けを行うヨーロッパのウェブサイトまたはオンラインゲームや賭けのウェブサイトからチケットや予約を販売する大手航空会社に利益をもたらすことができます。
バックグラウンド処理事業: 銀行が顧客の電信送金を処理したり、クレジットカード会社が顧客の取引を監視して不正を検出したりするなど、バックグラウンドで多くの取引を処理する必要があるビジネス。 同様に、多くの車両をリアルタイムで監視するロジスティクスビジネスや、多くのデバイスをリアルタイムで監視してその動作を分析する公益事業会社は、 NCache フェイルセーフデータキャッシングを確実にするため。
あなたがこれらのビジネスのXNUMXつであるか、他の同様のビジネスのホストである場合、ビジネスのコストが非常に高いため、ピーク時にアプリケーションの速度を落とす余裕はありません。 残念ながら、データベースがこのような高いトランザクション負荷に対処できず、ボトルネックになるため、多くのアプリケーションの速度が低下します。 トランザクションの負荷が増大するにつれてサーバーを追加できるアプリケーション層とは異なり、データベース層にサーバーを追加することはできません。
この問題の解決策は、 NCache アプリケーションデータをキャッシュし、すべての一時データまたは一時データをその中に保存します。 データベースとは異なり、 NCache は分散されており、XNUMXつ以上のサーバーのキャッシュ層を構築し、すべてのキャッシュサーバーのメモリとCPUをXNUMXつの論理容量にプールできます。 NCache 次に、トランザクションの負荷が増大するにつれて、このキャッシング層にサーバーを追加できます。
結果として、 NCache 線形にスケーリングでき、パフォーマンスのボトルネックになることはありません。 これに加えて、 NCache 完全にメモリ内にあり、超高速です。 使用できます NCache XNUMXつの異なる方法で。
機能を簡単に見てみましょう NCache パフォーマンスのボトルネックを取り除くことにより、線形スケーラビリティを確保することを提案します。
NCache アプリケーションがこれらすべてを追跡しなくても、キャッシュデータを可能な限り最新の状態に保つのに役立ついくつかの方法があります。 絶対有効期限とスライド有効期限を使用して、キャッシュからデータを自動的に削除できます。
あなたも持つことができます NCache 他のアプリケーションによってデータベース内のデータが変更された場合、SQLデータベースと自動的に同期します。 キャッシュ内のデータのXNUMX対多およびXNUMX対XNUMXの関係を指定して、キャッシュが更新されたときにデータの整合性が侵害されないようにすることもできます。
キャッシュに大量のデータを入れている場合は、 NCache オブジェクトの属性、グループ、タグ、および名前付きタグに基づいて検索できます。 これにより、データを簡単に見つけることができます。 SQLまたはLINQクエリを使用して、キャッシュを検索し、 NCache また、検索を高速化するためのインデックスを作成します。
NCache サーバー側のコード機能を提供する.NETスペースでの唯一のソリューションです。 リードスルーを実装して、キャッシュがデータベースからデータをフェッチできるようにすることができます。これを自動ロード機能と組み合わせると、 NCache 探索時またはデータベースの同期時にデータを自動的に再読み込みします。 ライトスルーを実装して、キャッシュにデータベースを更新させることもできます。
ライトビハインドはデータベースを非同期的に更新するため、アプリケーションはデータベースを待つ必要がありません。 最後に、キャッシュローダーは、起動時にキャッシュを自動的にプリロードします。
NCache は、「ニアキャッシュ」とも呼ばれるクライアントキャッシュ機能を提供する.NETの唯一のソリューションです。 キャッシュデータがアプリケーションプロセス内に保持されているかのように、InProcのパフォーマンスを提供します。 クライアントキャッシュはアプリケーションのローカルキャッシュですが、他のアプリケーションや他のユーザーによるすべての更新について、キャッシュ層との同期を維持します。 クライアントキャッシュにより、アプリケーションのパフォーマンスが大幅に向上します。
アプリケーションが複数のデータセンター、複数のAzureリージョン、または複数のAWSアベイラビリティーゾーンにデプロイされている場合は、 NCache どちらの場所でもアプリケーションの速度を低下させることなく、WAN全体でキャッシュを複製できます。 デプロイできます NCache アクティブ-パッシブまたはアクティブ-アクティブのデータセンター構成。
すでにご存知の通り、 NCache 100%.NET/です .NET Core ソリューションどのような.NETサポートがあるかを見てみましょう。また、さまざまな展開方法も見てみましょう。 NCache. NCache キャッシュクライアントに両方からの完全なサポートを提供します .NET Framework 次のようなもので:
.NET Core, NCache suppots:
キャッシュクライアントと同じように、 NCache サーバーも100%.NET / .NET Core。 他のソリューションはC++またはLinuxであるため、これを備えたソリューションは他にありません。 NCache サーバーは.NETと .NET Core そしてを通して .NET core エディション、デプロイできます NCache 以下に示す容量で: