Skip to content

A library caching solution with Time-to-Live (TTL) support, enabling efficient storage and retrieval of HTTP responses using the file system. Ideal for optimizing network performance and reducing redundant requests.

License

Notifications You must be signed in to change notification settings

cas8398/dio_cache_ttl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dio_cache_ttl

A library caching solution with Time-to-Live (TTL) support, enabling efficient storage and retrieval of HTTP responses using the file system. Ideal for optimizing network performance and reducing redundant requests.

Features

  • ✅ Cache files locally with a specified TTL
  • ✅ Uses Dio for efficient downloading
  • ✅ Automatically clears expired cache
  • ✅ Supports custom cache directories

Installation

Add this to your pubspec.yaml:

dependencies:
  dio_cache_ttl: ^0.3.3

Or add via CLI:

flutter pub add dio_cache_ttl
dependencies:
  dio_cache_ttl:
    git:
      url: https://github.com/cas8938/dio_cache_ttl.git

Usage

Import the package

import 'package:dio_cache_ttl/dio_cache_ttl.dart';

Cache a file

import 'dart:io';
import 'package:dio_cache_ttl/dio_cache_ttl.dart';

void main() async {
  File file = await dioCache(
    "https://example.com/sample.pdf",
    extFile: "pdf",
    ttl: Duration(hours: 1), // Cache for 1 hour
  );
  print("File saved at: ${file.path}");
}

Testing

Run tests using:

flutter test

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A library caching solution with Time-to-Live (TTL) support, enabling efficient storage and retrieval of HTTP responses using the file system. Ideal for optimizing network performance and reducing redundant requests.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages