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

DartでMomentoキャッシュを始める

Dart と Momento Cache をすぐに使い始める必要がある場合、このページには必要な基本的な API 呼び出しが含まれています。Dart SDK のサンプル を参照してください。

Momento SDKをインストールする

Momento Dart SDKはpub.dev as momentoで入手可能です。

Dartプログラムにインストールするには、以下を使用する:

dart pub add momento

Flutterプログラムにインストールするには、次のようにする:

flutter pub add momento

Momento APIキーを取得する

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

export MOMENTO_API_KEY=<your api key here>

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

CacheClient のセットアップ

このコードは、他のメソッドの呼び出しに使用する CacheClient を作成します。

try {
final cacheClient = CacheClient(
CredentialProvider.fromEnvironmentVariable("MOMENTO_API_KEY"),
CacheClientConfigurations.latest(),
Duration(seconds: 30));
} catch (e) {
print("Unable to create cache client: $e");
exit(1);
}

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

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

final result = await cacheClient.createCache("test-cache");
switch (result) {
case CreateCacheAlreadyExists():
print("Cache already exists");
case CreateCacheError():
print("Error creating cache: $result");
case CreateCacheSuccess():
print("Successfully created the cache");
}

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

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

final result = await cacheClient.listCaches();
switch (result) {
case ListCachesError():
print("Error listing caches: $result");
case ListCachesSuccess():
print("Successfully listed caches: ${result.cacheNames}");
}

キャッシュの削除

この機能を使用して、アカウントからキャッシュを削除します。

final result = await cacheClient.deleteCache("test-cache");
switch (result) {
case DeleteCacheError():
print("Error deleting cache: $result");
exit(1);
case DeleteCacheSuccess():
print("Successfully deleted cache");
}

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

セット操作の単純な例。CacheClient.set() 呼び出しでは、TTL はオプションです。これを渡すと、クライアント接続オブジェクトで設定された既定の TTL 値がオーバーライドされます。

final result = await cacheClient.set("test-cache", "test-key", "test-value");
switch (result) {
case SetError():
print("Error setting key: $result");
exit(1);
case SetSuccess():
print("Successfully set item in the cache");
}

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

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

final result = await cacheClient.get("test-cache", "test-key");
switch (result) {
case GetMiss():
print("Key was not found in cache.");
case GetError():
print("Error getting key: $result");
case GetHit():
print("Successfully got item from cache: ${result.value}");
}

キャッシュから項目を削除する

これはキャッシュから項目を削除する例です。

final result = await cacheClient.delete("test-cache", "test-key");
switch (result) {
case DeleteError():
print("Error deleting key: $result");
exit(1);
case DeleteSuccess():
print("Successfully deleted key from cache");
}

コードの実行

Dart SDK GitHub repo examples directoryに、完全なサンプルがあります。

備考

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