Search packages, repositories and app categories

Package detailsv0.0.4

flutter_auto_cache

Automated cache management with encryption, substitution/invalidation policies and efficient size handling.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
51
Likes
61
Pub points
150

Install package

flutter pub add flutter_auto_cache

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Flutter Auto Cache provides automated cache management with built-in encryption, intelligent substitution and invalidation policies, and efficient size handling. It simplifies persistent storage by automatically managing data lifecycle, ensuring security through encryption, and optimizing space usage across platforms. Ideal for apps needing reliable, secure, and low-maintenance caching of user or app data. The package supports all major Flutter platforms and integrates seamlessly via a straightforward API.

Use cases

  • Caching API responses
  • Storing user preferences securely
  • Persisting app state across sessions
  • Managing large datasets efficiently
  • Reducing network requests with cached data
  • Securing sensitive local data

Key features

  • Automatic encryption of cached data
  • Configurable eviction and invalidation policies
  • Efficient memory and disk space management
  • Cross-platform compatibility
  • Simple integration with existing code
  • Support for complex data types

Suitable for

  • Apps requiring secure local storage
  • Developers seeking automated cache handling
  • Projects with frequent data persistence needs
  • Applications targeting multiple platforms
  • Teams prioritizing data security
  • Low-maintenance caching solutions

Considerations

  • Requires careful policy configuration for optimal performance
  • May increase initial setup complexity
  • Encryption adds minor overhead
  • Not suitable for real-time streaming data
  • Limited to key-value storage model
  • Depends on underlying file system reliability

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

continuous integration start bsd-3-clause

Introduction

Flutter Auto Cache is a sophisticated, high-tech cache manager for Flutter, designed to optimize cache management in mobile applications. Enhances cache replacement policies, provides robust encryption methods, and ensures efficient disk space management. Leveraging shared_preferences, our platform delivers a comprehensive solution for cache data management.

With Flutter Auto Cache, you can seamlessly integrate advanced cache management features, allowing you to focus on your application’s core functionality while we handle the complexities of data caching. Our user-friendly interface and powerful capabilities make Flutter Auto Cache the go-to choice for Flutter developers aiming to achieve high performance and security in their applications.

Experience unparalleled efficiency and reliability in cache management with Flutter Auto Cache.

Installation

Getting started with Flutter Auto Cache is straightforward and can be accomplished in a few simple steps. You have the flexibility to add it to your project directly from pub.dev or install it locally, depending on your development preferences and workflow.

Adding via pub.dev

To add Flutter Auto Cache to your project, run the following command:

flutter pub add flutter_auto_cache
Installing Locally

If you prefer to install Flutter Auto Cache locally, follow these steps:

1. Clone the FlutterAutoCache repository:
git clone https://github.com/luizgasparetto/flutter_auto_cache.git
2. Navigate to your project's pubspec.yaml file and add the following dependency:
dependencies:
  flutter_auto_cache:
    path: ../path_to_flutter_auto_cache
3. Install the dependency by running:
flutter pub get

Once installed, you can start using Flutter Auto Cache in your Flutter project to enhance your application's cache management with advanced features, including encryption and efficient disk space management.

Usage

To use Flutter Auto Cache, you need to initialize the cache manager before calling runApp. This ensures that all cache configurations are set up correctly. You also have the option to pass your custom initialization configuration.

import 'package:flutter_auto_cache/flutter_auto_cache.dart';

Future<void> main() async {
  /// Optional: Pass a custom CacheConfiguration if needed
  await AutoCacheInitializer.initialize(configuration: yourCustomConfiguration);

  runApp(MyApp());
}

After initialization, you can use the cache management methods directly from the AutoCache class. Here is an example of how to access the preferences cache manager:

await AutoCache.data.getString(key: "my_string_cached");

With this setup, you can easily manage your application's cache using the methods provided by AutoCache.

Note Each property of the CacheConfiguration can have a different impact on how the cache behaves. It is important to understand these properties to optimize your application's performance and reliability.

Contributing

The majority of Flutter Auto Cache code is open-source. We are committed to a transparent development process and highly appreciate any contributions. Whether you are helping us fix bugs, proposing new features or improving our documentation.

  • Bug Report: If you see an error message or encounter an issue while using this package, please create a bug report.

  • Feature Request: If you have an idea or if there is a capability that is missing and would make development easier and more robust, please submit a feature request.

License

Flutter Auto Cache is licensed under the BSD-3-Clause. This license permits the redistribution and use of the software in source and binary forms, with or without modification, provided that the terms and conditions outlined in the license are met. By using Flutter Auto Cache, you agree to comply with these terms and conditions, which ensure the protection and proper use of the software.

Categories

Dependencies

Dependency list 5 items

Source repository

Projects using this package

No data available yet.