29 lines
729 B
Markdown
29 lines
729 B
Markdown
# 2. Caching
|
|
|
|
Date: 2021-10-05
|
|
|
|
## Status
|
|
|
|
Accepted
|
|
|
|
## Context
|
|
|
|
- Client always make requests to back-end to refresh the data, what put a lot of pressure on it.
|
|
- User need to wait a long time to see the mailbox and email.
|
|
|
|
## Decision
|
|
|
|
- Caching the data with the [Hive](https://github.com/hivedb/hive) dependencies
|
|
Hive is a lightweight and blazing fast key-value database written in pure Dart. It support cross-platform: mobile, desktop and browser
|
|
|
|
- `changes` method allows a client to efficiently update the state of data (Mailbox and Email)
|
|
|
|
## Consequences
|
|
|
|
- Minimizing the requests to the back-end
|
|
- Reducing the latency in the client
|
|
|
|
## Follow up works
|
|
|
|
- Pre-loading the bodies of the some latest unread messages
|