flutter_cache
플러터용 간단한 캐시 패키지입니다. 이 패키지는 공유 선호 사항을 둘러싸는 래퍼이며, 공유 선호 사항 사용을 더 쉽게 만듭니다.
간단한 공유 선호 설정.
{"sdk":"flutter"}^2.0.4^1.16.7아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Dependencies Status file size GitHub Issues follows on twitter
A simple cache package for flutter. This package is a wrapper for shared preference and makes working with shared preference easier. Once it has been installed, you can do these things.
import 'package:flutter_cache/flutter_cache.dart' as cache;
// create new cache.
cache.remember('key', 'data');
cache.write('key', 'data');
// add Cache lifetime on create
cache.remember('key', 'data', 120);
cache.write('key', 'data', 120);
// load Cache by key
cache.load('key'); // This will load the cache data.
// return `defaultValue` if key not exists
cache.load('key', 'defaultValue')
// destroy single cache by key
cache.destroy('key');
// destroy all cache
cache.clear();
First include the package dependency in your project's pubspec.yaml file
dependencies:
flutter_cache: ^0.1.0
You can install the package via pub get:
flutter pub get
Then you can import it in your dart code like so
import 'package:flutter_cache/flutter_cache.dart' as cache;
String, Map, List<String> and List<Map> for forever or for a limited time.If data already exist, then it will use the data in the cache. If it's not, It will fetch the data. You can also set Cache lifetime so your app would fetch again everytime the Cache dies.
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:flutter_cache/flutter_cache.dart' as cache;
var employees = await cache.remember('employees', () async {
var response = await http.get('http://dummy.restapiexample.com/api/v1/employees');
return jsonDecode(response.body)['data'].cast<Map>();
}, 120); // cache for 2 mins
// or
// cache for 2 mins
var employees = await cache.remember(
'servers',
() async => jsonDecode(
(await http.get( 'http://dummy.restapiexample.com/api/v1/employees' )
).body )['data'].cast<Map>()
, 120);
The data will be destroyed when it reached the time you set.
cache.remember('key', 'data', 120); // saved for 2 mins or 120 seconds
cache.write('key', 'data', 120);
You can cache multiple datatype. Supported datatype for now are String, Map, List<String> and List<Map>. When you use cache.load() to get back the data, it will return the data in the original datatype.
cache.remember('key', {
'name' : 'Ashraf Kamarudin',
'depth2' : {
'name' : 'depth2',
'depth3' : {
'name': 'depth3'
}
}
});
cache.load('key'); // will return data in map datatype.