People always ask for the best way to store data.
Most often they don't disclose their requirements. So let's assume a) we only need to store a few megabytes of data (which easily fit into the main memory of your device), b) we have more reads than writes, c) we need only be faster than 1ms, and d) we don't need complex queries. A simple key/value store will suffice.
Here's a minimal key-value store API:
abstract class KV<T> {
Future<T?> get(String key);
Future<void> set(String key, T value);
Future delete(String key);