1. Description du scénario :
La base de données locale doit désormais synchroniser les informations d'inventaire (champ) avec la base de données de la pharmacie. La façon d'y parvenir est d'appeler l'interface de la pharmacie pour obtenir l'inventaire d'un seul médicament.
2. Solution :
Temps de tâche planifié, si la synchronisation se produit toutes les quelques minutes (par exemple : 2 minutes), j'interroge la base de données locale pour parcourir chaque enregistrement et ajuster l'interface pour mettre à jour chaque enregistrement.
3. Question :
Il y a des dizaines de milliers de données dans la base de données locale. Si la mémoire d'opération est supprimée en même temps, elle va définitivement exploser. De plus, la synchronisation n'a pas été terminée en 2 minutes. . Que dois-je faire si je le réexécute ?
C'est une idée un peu vague, prenez-la en morceaux, par exemple, prenez 100 éléments à la fois pour mettre à jour. Comment concevoir et tester pour obtenir de meilleurs résultats ?
Je ne comprends pas très bien les exigences, je ne peux donc vous donner qu'une référence :
1. Si vous avez l'autorisation de modifier la base de données de la pharmacie :
2. Si vous n'avez pas le droit de modifier la base de données de la pharmacie :
L'auteur confirme d'abord qu'en appelant l'inventaire d'un seul médicament via l'interface, peut-on tout vérifier en 2 minutes ? Si c'est le cas, il est préférable d'utiliser Redis pour enregistrer d'abord des opérations d'IO aussi fréquentes, puis d'effectuer une tâche planifiée ? et insérez-le dans la base de données plus tard.