flutter_cache

Creator: coderz1093

Last updated:

Add to Cart

Description:

flutter cache

flutter_cache #




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();

copied to clipboard
Getting Started #
Installation #
First include the package dependency in your project's pubspec.yaml file
dependencies:
flutter_cache: ^0.0.7
copied to clipboard
You can install the package via pub get:
flutter pub get
copied to clipboard
Then you can import it in your dart code like so
import 'package:flutter_cache/flutter_cache.dart' as cache;
copied to clipboard
What Can this Package Do ? #

Cache String, Map, List<String> and List<Map> for forever or for a limited time.
Load the cache you've cached.
Clear All Cache.
Clear Single Cache.

Usage #
Cache Fetch Data from API
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);
copied to clipboard
Saved data for limited time
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);
copied to clipboard
Cache multipe datatype
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.
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.