今回は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);
以上となります。
とても簡単に実装できます。