メインコンテンツまでスキップ

.NETでMomentoキャッシュを始める

.NETとMomento Cacheをすぐに使い始める必要がある場合、このページには必要な基本的なAPIコールが含まれています。.NETのSDKサンプルには、ビルド設定ファイルを含む完全なサンプルがあります。

Momento SDKをインストールする

既存の.NETプロジェクトにクライアントライブラリをインストールします:

dotnet add package Momento.Sdk

APIキーの設定

Momentoで認証するには、Momento APIキーが必要です。 Momento Web Console](https://console.gomomento.com/caches)から取得できます。 APIキーを取得したら、Momentoクライアントが利用できるように環境変数に保存してください:

export MOMENTO_API_KEY=<your Momento API key here>

Note: セキュリティ強化のためには、APIキーを環境変数ではなく、AWS Secret ManagerやGCP Secret Managerのようなものに入れるのがベストプラクティスだが、ここではデモのためにAPIキーを使っている。

ライブラリをインポートし、CacheClient オブジェクトを作成します。

このサンプル・ファイル は、必要なインポートを取り込み、環境変数から API キーを読み取り、キャッシュとの対話に使用する CacheClient をインスタンス化します。

Momento Cacheに新しいキャッシュを作成する。

この機能を使用して、アカウントに新しいキャッシュを作成します。

var result = await cacheClient.CreateCacheAsync("test-cache");
if (result is CreateCacheResponse.Success)
{
Console.WriteLine("Cache 'test-cache' created");
}
else if (result is CreateCacheResponse.CacheAlreadyExists)
{
Console.WriteLine("Cache 'test-cache' already exists");
}
else if (result is CreateCacheResponse.Error error)
{
throw new Exception($"An error occurred while attempting to create cache 'test-cache': {error.ErrorCode}: {error}");
}

あなたのアカウントにある既存のキャッシュの名前をリストアップします。

アカウントのキャッシュ名の単純なリスト。

var result = await cacheClient.ListCachesAsync();
if (result is ListCachesResponse.Success success)
{
Console.WriteLine($"Caches:\n{string.Join("\n", success.Caches.Select(c => c.Name))}\n\n");
}
else if (result is ListCachesResponse.Error error)
{
throw new Exception($"An error occurred while attempting to list caches: {error.ErrorCode}: {error}");
}

キャッシュに項目を書き込む

セット操作の簡単な例。client.set呼び出しでは、TTLはオプションです。TTLを渡すと、クライアント接続オブジェクトで設定されたデフォルトのTTL値が上書きされます。

var result = await cacheClient.SetAsync("test-cache", "test-key", "test-value");
if (result is CacheSetResponse.Success)
{
Console.WriteLine("Key 'test-key' stored successfully");
}
else if (result is CacheSetResponse.Error error)
{
throw new Exception($"An error occurred while attempting to store key 'test-key' in cache 'test-cache': {error.ErrorCode}: {error}");
}

キャッシュからアイテムを読み込む

これは、キャッシュから項目を取得する単純な読み取り操作の例です。

var result = await cacheClient.GetAsync("test-cache", "test-key");
if (result is CacheGetResponse.Hit hit)
{
Console.WriteLine($"Retrieved value for key 'test-key': {hit.ValueString}");
}
else if (result is CacheGetResponse.Miss)
{
Console.WriteLine("Key 'test-key' was not found in cache 'test-cache'");
}
else if (result is CacheGetResponse.Error error)
{
throw new Exception($"An error occurred while attempting to get key 'test-key' from cache 'test-cache': {error.ErrorCode}: {error}");
}

コードの実行

csharp SDK GitHub repo examples directoryに完全な動作例があります。

備考

これらの基本的なAPIコール以外にも、MomentoのAPIコールの詳細については、APIリファレンスページをチェックしてください。

より高度なコールのコード例をご覧ください。