42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
|
## Economiser la bande passante en sauvegardant en base de données locale les données fournies par le serveur
|
||
|
|
||
|
### Identifiants
|
||
|
|
||
|
// TODO
|
||
|
|
||
|
### Catégories
|
||
|
|
||
|
| Cycle de vie | Tiers | Responsable |
|
||
|
|:---------:|:----:|:----:|
|
||
|
| 4. Production | Utilisateur/Terminal | Architecte Logiciel/Développeur |
|
||
|
|
||
|
### Indications
|
||
|
|
||
|
| Degré de priorité | Mise en oeuvre | Impact écologique |
|
||
|
|:-------------------:|:-------------------------:|:---------------------:|
|
||
|
| 3 | 2 | 4 |
|
||
|
|
||
|
|Ressources Economisées |
|
||
|
|:----------------------------------------------------------:|
|
||
|
| Réseau / Requêtes |
|
||
|
|
||
|
### Description
|
||
|
|
||
|
Les réponses d'un serveur qui restent inchangées dans un futur proche et qui sont utilisées à chaque fois que l'application est ouverte ne doivent pas être redemandées. Par conséquent, il faut les sauvegarder en base de données locale pour économiser de la bande passante.
|
||
|
|
||
|
Si besoin, lorsque des données sont fournie par un serveur distant, il peut être intéressant de définir une stratégie de mise en cache/base de données locale. Par exemple :
|
||
|
1. La première fois que l'application récupére une donnée du serveur, elle est stockée en cache afin d'être utilisée immédiatement par l'application.
|
||
|
2. En arrière-plan, la donnée est sauvegardée en base de données en incluant la date de récupération de celle-ci.
|
||
|
3. Plus tard, si l'application nécessite l'accès à nouveau à cette donnée et qu'elle n'est plus en cache : si en base de donnée la date de récupération de cette donnée est inférieure à X jours/minutes, celle-ci est à nouveau mise en case et fournie à la vue, sinon, la donnée est à nouveau récupérée du serveur et l'étape 1) ci-dessus est rejouée.
|
||
|
|
||
|
|
||
|
### Exemple
|
||
|
|
||
|
Si une requête retourne une liste de noms de villes ou de noms de contacts, il faut mettre ces réponses en base de données pour ne pas générer à nouveau une requête vers le serveur dès que cette liste doit être à nouveau affichée.
|
||
|
|
||
|
### Principe de validation
|
||
|
|
||
|
| Le nombre ... | est inférieur ou égal à |
|
||
|
|--------------------------------------------------------|:-----------------------:|
|
||
|
| de réponse du serveur non mis en base de données local | 20% |
|