パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.3.0

ttl_cache

ユーザーが定義した生存時間(TTL)後にエントリが期限切れになるシンプルなキー値ストア

AndroidiOSLinuxmacOSWebWindows
30日間ダウンロード
10.3万
いいね数
3
Pub ポイント
160

パッケージをインストール

flutter pub add ttl_cache

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

ttl_cache は、ユーザーが定義した有効期間(TTL)に基づいてエントリの自動期限切れを提供する、軽量でFlutter対応のパッケージです。TTLが切れた後に古くなったエントリを削除することで、効率的な一時データ保存を実現し、メモリ使用量を削減し、データの新鮮さを保証します。API応答、セッションデータ、または任意の一時情報のキャッシュに適しています。このパッケージは、Android、iOS、Web、デスクトップ環境を含むすべての主要プラットフォームをサポートしています。

用途

  • API 応答のキャッシュ
  • セッショントークンの保存
  • 一時的なデータの永続化
  • 重複するネットワーク呼び出しの削減
  • 一時的な設定の管理
  • アプリのパフォーマンスを向上させる

主な機能

  • 自動エントリの有効期限切れ
  • クロスプラットフォーム対応
  • シンプルなキー値インターフェース
  • エントリごとの設定可能な TTL
  • メモリ効率の良い設計
  • スレッドセーフな操作

適している対象

  • 短期的なデータ保存が必要なアプリ
  • 軽量なキャッシュを求める開発者
  • 自動クリーンアップを必要とするプロジェクト
  • 新鮮度保証付きのリアルタイムデータ
  • 高パフォーマンスアプリケーション

注意事項

  • エントリはアプリの再起動間で永続化されません
  • TTL の精度はシステムクロックに依存します
  • 長期保存には適していません
  • 組み込みのシリアル化なし
  • メモリ内ストレージに限定
  • 大規模なデータセットの手動管理が必要です

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

ttl_cache

Powered by Mason License: MIT

A simple Dart key-value store with optional entry expiration.

Usage

A simple usage example:

import 'package:ttl_cache/ttl_cache.dart';

void main() {
  final cache = TtlCache<String, int>(defaultTtl: Duration(seconds: 1));

  // Set 'a' and 'b' with a default TTL of 1 second.
  // These lines are equivalent.
  cache['a'] = 1;
  cache.set('b', 2);

  // Set 'c' with a TTL of 3 seconds.
  cache.set('c', 3, ttl: Duration(seconds: 3));

  // Set 'd' with no TTL. This entry will remain in the cache until it is
  // manually removed.
  cache.set('d', 4, ttl: null);

  print(cache['a']); // 1
  print(cache['b']); // 2
  print(cache['c']); // 3
  print(cache['d']); // 4

  // Entries with the default TTL will have expired. 'c' has a TTL of 3 seconds
  // and will still be available.
  Future.delayed(Duration(seconds: 2), () {
    print(cache['a']); // null
    print(cache['b']); // null
    print(cache['c']); // 3
    print(cache['d']); // 4
  });

  // All entries from above with TTLs will have expired. 'd' has no TTL and will
  // still be available.
  Future.delayed(Duration(seconds: 4), () {
    // 'a' and 'b' will still be null
    print(cache['c']); // null
    print(cache['d']); // 4
  });
}

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。

ランキング