本地存储与缓存:配置、Token、离线数据

区分轻量配置、敏感 Token、结构化数据和接口缓存,选择合适的存储方式。

本地存储缓存

本地存储分几类

Flutter 本身提供文件系统能力,生态中常见方案包括 shared_preferences、secure_storage、Hive、sqflite 等。选型时先看数据类型:是简单配置、敏感凭证、结构化列表,还是需要查询的关系型数据。

常见选型

  • 主题、语言、开关:shared_preferences。
  • 登录 Token、刷新 Token:优先使用安全存储方案。
  • 离线文章、商品草稿:Hive 或 SQLite。
  • 复杂查询、排序、关联:SQLite 更合适。

缓存策略

缓存不是只存起来。你还需要考虑有效期、版本、用户切换、退出登录清理、接口字段变更兼容。尤其是后台系统或金融类数据,不要用过期缓存误导用户。

class CacheKeys {
  static const themeMode = 'theme_mode';
  static const locale = 'locale';
  static const token = 'auth_token';
}

实战建议

把存储读写封装成 Repository 或 Service,不要在页面里直接调用插件。这样后续从 shared_preferences 换成 Hive,不需要改一堆页面。

官方参考