Xamarin 一定の時間で消えるのキャッシュデータの保存方法

今回はXamarinで有効期限を設定し、期限が切れたら消えるキャッシュデータの保存方法についてのお話です。
「MonkeyCache」というNugetパッケージを使うととても簡単に実装できます。

MonkeyCacheにはデータの保存に使うストレージ毎に
「MonkeyCache.SQLite」
「MonkeyCache.LiteDB」
「MonkeyCache.FileStore」
の3つが用意されています。
この3つから使いたいものを選んで使ってください。
実装方法はどれも共通です。

では、実装手順についてです。

1.上の3つのNugetのうちどれか1つをプロジェクトに追加

2.初期化処理を記述

Barrel.ApplicationId = "xxxxxx"; // 何かユニークなIDを記述
Barrel.Current.AutoExpire = true; // これをtrueにしないと設定する期限でデータが消されない

この初期化処理は実際にデータを保存する前に書いておけば良いのですが、
App.xaml.csのコンストラクタ内に書いておくことをお勧めします。
また、「MonkeyCache.LiteDB」を使用する場合、データの暗号化をすることが可能です。
暗号化する際は初期化処理に

Barrel.EncryptionKey = "xxxxx"; // 暗号化用のキー

を追記してください。

3.データの保存

// 第一引数は保存するデータのキーを指定、第二引数に保存したいデータ、第三引数に有効期限を指定
Barrel.Current.Add("key", "Data", TimeSpan.FromSeconds(100));

4.データの取得

// データ保存時に指定したキーを引数に渡しデータを取得
var value = Barrel.Current.Get<string>(key);

以上となります。
とても簡単に実装できます。

タイトルとURLをコピーしました